Visual Studio Debugger Breakpoint Helper
The Common Language Runtime was unable to set the breakpoint
This usually means the managed code was built without the System.Diagnostics.DebuggableAttribute
attribute. In order to debug managed code, the CLR JITter has to generate tracking info. If this attribute
is present, as it is on Debug builds by default, then tracking info will be created. It is also created
if the program is launched by the debugger. However, if the attribute is missing (e.g. in a Release build
that is not launched by the debugger) then there is no tracking information, so the debugger is unable
to set breakpoints anywhere in the code. You can read more about this, and how to force tracking information
to be generated here.
Visual Studio 2005 Improvements
If you are using a pre M3 build of Visual Studio 2005 (e.g. the 2003 PDC build) then the above rules are still
valid. However if you are using a post M3 build (e.g. a Community Drop build) then the rules have changed:
- The CLR JITter no longer needs to generate tracking information in order to debug
- The act of launching from the debugger does not change the JITted code at all
This means retail code can be debugged (though is a lot harder) so long as you remember to create a
pdb, and the act of debugging an .exe does not change the code that is generated.
Breakpoint Helper Has Finished
Did this solve your problem? Yes or No
Click here to start the breakpoint helper again.
©2004 Microsoft Corporation. All rights reserved.
This is a prototype, please send general feedback