How can I skip common classes in VS 2008 debugger when stepping in?
For example, I do not want debugger to step into any of the std:: classes. How can I achieve that?
I've found ways of doing this in VS 2005 and earlier, but not 2008
How can I skip common classes in VS 2008 debugger when stepping in?
For example, I do not want debugger to step into any of the std:: classes. How can I achieve that?
I've found ways of doing this in VS 2005 and earlier, but not 2008
Taken from http://www.highprogrammer.com/alan/windev/visualstudio.html:
Avoiding Stepping Into Things
It's often useful to avoid stepping into some common code like constructors or overloaded operators. autoexp.dat provides this capability. Add a section called "[ExecutionControl]". Add keys where the key is the function name and the value is "NoStepInto". You can specify an asterisk (*) as a wildcard as the first set of colons for a namespace or class.
autoexp.dat is only read on Visual Studio's start up.
To ignore the function myfunctionname, and all calls to the class CFoo:
[ExecutionControl]
myfunctionname=NoStepInto
CFoo::*=NoStepInto
To ignore construction and assignment of MFC CStrings: (Notice the extra = in CString::operator=.)
[ExecutionControl]
CString::CString=NoStepInto
CString::operator==NoStepInto
To ignore all ATL calls:
[ExecutionControl]
ATL::*=NoStepInto
You can do this by entering entries into the registry (I know, it sucks). The key you are looking for varies from 32 to 64 bit systems. For 32-bit systems the key is
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\NativeDE\StepOver
If you're running a 64 bit OS and a 32 bit Visual Studio the key is
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\NativeDE\StepOver
The Wow6432Node key is a key present for 32 bit applications running on 64 bit systems. (Sidenote: searching the registry for "_RTC_CheckEsp" probably will lead you to the right place, it's a default entry in Visual Studio 9)
The syntax should be familiar to you, but as an example, a simple entry could be string value boost\:\:.*=NoStepInto
which will avoid the debugger to step into Boost. See http://www.cprogramming.com/debugging/visual-studio-msvc-debugging-NoStepInto.html for some other examples.
Hope this helps :)