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
If the current line contains a function call, Step Over runs the code and then suspends execution at the first line of code after the called function returns. Step Out continues running code and suspends execution when the current function returns. The debugger skips through the current function.
Set Next Statement (shortcut: Ctrl + Shift + F10 ) is very useful feature and allows to move execution pointer to selected statement. This can be used to not execute statement(s), like skipping line 27 in above example.
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 :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With