我希望默认跳过调试所有std :: namespace C ++,而不将代码窗口更改为std :: code,由Microsoft编写为xstring。这个问题类似于: How to skip common classes in VS 2008 when stepping in?和 Auto-skip STL functions during step-by-step debugging in MSVC++2010。 唯一的区别是他们的解决方案适用于Visual Studio 2008和2010.我自己尝试过,它适用于visual studio 2010,但我想在visual studio 2013上进行。同样的解决方案在visual studio 2013上不起作用我尝试将注册表中的所有值更改为:
_RTC_CheckEsp
到
std\:\:.*=NoStepInto
,其中一些是视觉工作室12.0(视觉工作室2013)的价值观,但重新启动visual studio 2013后,没有任何改变。相反,这适用于Visual Studio 2010.“Just My Code”选项已打开。
答案 0 :(得分:22)
正如Hans Passant所说,编辑.natstepfilter文件以添加排除项。
创建一个新文件,例如nostd.natstepfilter,并在Has the VS2012 NativeDE\StepOver registry entry that prevents step-into for specific functions changed format?
中写入 <?xml version="1.0" encoding="utf-8"?>
<StepFilter xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010">
<Function><Name>std::.*</Name><Action>NoStepInto</Action></Function>
</StepFilter>
对于64位窗口,请将文件移至:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers
而对于32位窗口来说:
C:\Program Files\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers
或您自定义安装的任何内容。请注意,natstepfilter不能在混合模式下工作(混合本机代码和托管代码)。确保项目调试设置设置为仅限本机