我正在调试大量使用STL的应用程序,为了不在键盘上撞击Shift-F11整天我在C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers
中有一个包含
<?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>
据我所知,这是让VS2012无法进入以std::
开头的任何功能的方法,如果我错了,请纠正我。
然而,这没有任何影响,调试器只是跳进了所有内容。
此外,当使用Visualizers
上的过滤器运行procmon并启动调试会话时,它看起来像这样:
因此它会查询正确目录中的所有内容,但继续读取所有.natvis文件,但不读取.natstepfilter文件。所以看来VS正在积极做一些事情来完全忽略过滤器。
有关如何解决此问题或在何处寻找解决方案的任何想法?
附加信息:我已经加载了一大堆扩展,但它们似乎都没有调试器的任何业务(更不用说他们告诉VS跳过过滤器文件)。只是为了确保将Debugger Type
明确设置为Native Only
,因为我读到过滤器不适用于混合模式。被调试的应用程序只是本机的。尝试调试x86和x64进程。
答案 0 :(得分:-1)
仅在首次尝试StepInto后加载(解析)natstepfilter文件。 Visual C ++ 2012中引入的调试器中的新数据查看增强功能(natvis和natstepfilter)在本机代码的EDIT AND CONTINUE(工具 - &gt;选项 - &gt; Debugging-&gt; EditAndContinue)打开时不起作用。