Visual Studio调试器无法加载natstepfilter文件。

6
我正在调试大量使用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并启动调试会话时,它看起来像这样:
所以它查询了正确目录下的所有内容,但然后继续读取所有.natvis文件而不是.natstepfilter文件。因此,似乎VS正在积极地做一些事情来完全忽略过滤器。
有没有关于如何解决这个问题的想法,或者在哪里寻找更多的解决方案?
附加信息:我装了一堆扩展,但它们中没有一个与调试器有任何关系(更别说告诉VS跳过过滤器文件了)。只是为了确保Debugger Type 明确设置为 Native Only,因为我读到过混合模式下过滤器无效。被调试的应用程序只是本地的。尝试调试x86和x64进程。

1
不要把它放在VS2010目录中。 - Hans Passant
@HansPassant 指出了我的错误,我复制了错误的位置。已进行编辑。 - stijn
1个回答

0

natstepfilter文件仅在首次尝试StepInto后加载(解析)。 在Visual C++ 2012中引入的调试器中的新数据查看增强功能(natvis和natstepfilter)在为本机代码打开“编辑和继续”(工具->选项->调试->编辑和继续)时不起作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接