In debugging, it's always annoying to step into CString like classes as in most cases we don't need to get into there. There does exist solution to NoStepInto functions/classes you don't intend to step into:

1. Ahead of VS2010

1) Look into this article to add something into Registry: How to avoid StepInto unnecessary code area?

2) make use of autoexp.dat to add a section called "[executioncontrol]". Look into this article for details (I haven't verified this):​​Tune the debugger using AutoExp.dat ​

2. For VS2010


Two things have changed with the NoStepInto feature of the native C++ debugger in VS2010 compared to VS2008 (for a general intro see ​here​):


  • You don't have to put your rules in HKLM anymore: you might as well put them in HKCU (more precise in HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config\NativeDE\StepOver), which is of course much better
  • If you put =NoStepInto things will no longer work: just leave it off.

Some examples (as entered in RegEdit)


  • Name:10, Value: boost\:\:shared_ptr.*
  • Name:20, Value: std\:\:.*


Note: for managed code, VS provides "Just my code" option.