Welcome to MSDN Blogs Sign in | Join | Help

January 2005 - Posts

What is Interop-Debugging?

(This is an excerpt from an internal document I wrote explaining what is Interop-Debugging (aka Mixed Mode) and how does it work under the covers) General Debugging background. When a process is being debugged, it generates debug-events which a debugger

Finding where unmanaged exceptions came from

Sometimes you’re looking at the callstack that’s in a handler after an exception was thrown. This is very common if you attached at an unhandled exception that popped up a watson dialog. It might look this like: kernel32!WaitForSingleObject+0xf devenv!DwCreateProcess+0xbb
Posted by jmstall | 25 Comments

How to get a V2.0 ICorDebug object

I think the biggest breaking change in the ICorDebug API is how we deal with versioning. Managed debugging is done via the com-classic ICorDebug interface. In v1.0/v1.1, you cocreate to get an ICorDebug implementation, like so: ICorDebug * cor; hr = CoCreateInstance
Posted by jmstall | 10 Comments

Code Gen flags while Debugging

I ranted here that Debuggers shouldn’t affect behavior . V1.1 had some fundamental violations of this regarding code-gen. We’ve fixed this in v2.0 ICorDebug . This includes: 1) Ensuring that the mere presence of a debugger doesn’t affect codegen flags
Posted by jmstall | 11 Comments

Object Identity in Managed Debugging

The problem : Perhaps you’ve navigated through a global, local, or parameter while debugging, and then through some ugly series of object references (such as a hash table) to find an object reference. You want to be able to get some identity on that object
Posted by jmstall | 13 Comments

What's new in v2.0 CLR Debugging (ICorDebug)?

The CLR debugging services have added a lot of great things in v2.0. The main theme for us has been improving the Rapid Application Development (RAD) experience. Here’s a list of new features: 1) Edit-And-Continue . EnC is the ablity to edit code while
Posted by jmstall | 18 Comments
 
Page view tracker