VS调试器不加载natstepfilter文件

时间:2013-10-24 10:44:43

标签: debugging visual-studio-2012 step-into

我正在调试大量使用STL的应用程序,为了不在键盘上撞击Shift-F11整天我在C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers中有一个包含

的my.natstepfilter文件
<?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并启动调试会话时,它看起来像这样:

enter image description here

因此它会查询正确目录中的所有内容,但继续读取所有.natvis文件,但不读取.natstepfilter文件。所以看来VS正在积极做一些事情来完全忽略过滤器。

有关如何解决此问题或在何处寻找解决方案的任何想法?

附加信息:我已经加载了一大堆扩展,但它们似乎都没有调试器的任何业务(更不用说他们告诉VS跳过过滤器文件)。只是为了确保将Debugger Type明确设置为Native Only,因为我读到过滤器不适用于混合模式。被调试的应用程序只是本机的。尝试调试x86和x64进程。

1 个答案:

答案 0 :(得分:-1)

仅在首次尝试StepInto后加载(解析)natstepfilter文件。 Visual C ++ 2012中引入的调试器中的新数据查看增强功能(natvis和natstepfilter)在本机代码的EDIT AND CONTINUE(工具 - &gt;选项 - &gt; Debugging-&gt; EditAndContinue)打开时不起作用。