默认情况下,我想跳过对std::namespace C++的所有调试,而不是将代码窗口更改为std::code,由微软编写为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
,其中一些是visual studio 12.0 (即visual studio 2013)的值,但重新启动visual studio 2013后,没有任何变化。相反,这在Visual Studio2010上有效。“仅我的代码”选项已打开。
发布于 2014-02-18 08:47:49
正如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位windows,请将文件移动到:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers
而对于32位windows:
C:\Program Files\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers
或您自定义安装到的任何内容。请注意,natstepfilter不能在混合模式下工作(混合本机代码和托管代码)。确保您的项目调试设置设置为Native only
https://stackoverflow.com/questions/21836465
复制相似问题