New Article on Intellitrace

Ian Huff (a developer on Intellitrace) just published a nice article on that new feature of VS 2010. If you’re curious about the how Intellitrace works and how it can help track down “no-repro” bugs, this is a good read:


Thoughts on Port Suppliers

I get a lot of questions about port suppliers from people who are attempting to write a debug engine. There appears to be a lot of confusion on the subject.IMHO, the concept of Port, and PortSupplier is one of the most confusing aspects of the AD7 architecture, mostly because the names are confusing. A Port…


VS 2010 version of DebugEngineSample is now available

The Debug engine sample available at has been updated for VS 2010. Changes include porting to use Microsoft.VisualStudio.Debugger.InteropA.dll as the primary PIA, updating registration to load in VS 2010 and implementing a few new interfaces for VS 2010. NOTE: All debug engines implemented in managed code must switch to using Microsoft.VisualStudio.Debugger.InteropA.dll as the pia for…


Undocked window crash QFE now available

A fix for a widely reported crash in the Visual Studio 2008 SP1 IDE is now available.  This fixes a crash that occurs after changing layouts and then changing modes.  The layout changes can be undocking/docking windows, and the mode changes are starting/stopping debugging or changing to/from Full Screen.  This bug was introduced in Service…


Debugger QFE for VS 2008 SP1 released

The Visual Studio Debugger team has just released a QFE that fixes several problems with the debugger in VS 2008. This fixes several issues while debugging multi-threaded applications in both managed and native code as well as some issues with breakpoints. It can be downloaded at this location:    


Adding Stepping Support to a Debug Engine

One feature that is clearly missing from the current debug engine sample is stepping. The reason it is missing is it only requires one AD7 method to initiate the step and one AD7 event when the step is complete. However, the actual implementation of stepping is very complex and requires support from the underlying platform…


What to do if your debug engine doesn’t create real processes?

One thing we get a lot of reports about from people writing custom debug engines is if the engine is doing engine launch (using LaunchSuspended like the engine sample does) and the engine doesn’t launch a true win32 process, the debugger will fail the launch and not call ResumeProcess. This is a common scenario for…


Walkthrough3: Breakpoints and Stopping Events now available

I have uploaded another walkthrough for the new debug engine sample. This one explains breakpoints, breakpoint binding and stopping events in the sample engine. It is available along-side the other walkthroughs and the actual sample download at  


SOS in Visual Studio Part 2

I found this old  blog post on my box today. I had never gotten around to posting it.Hopefully, this will be useful to someone.    In my last SOS post I promised to give a discussion on the CLR data structures you need to debug managed code with SOS. There is a great detailed article available here: which explains this…


VSIP Debug Engine Sample Walkthrough2

I have uploaded another walkthrough for the new debug engine sample. This one explains threads and modules in the sample engine, the AD7 events corresponding to them, and the objects that implement them. It is available along-side the other walkthroughs and the actual sample download at