VS2012 NativeDE\StepOver注册表项是否阻止特定功能的步入更改格式?

cwm*_*wm9 15 c++ debugging visual-studio visual-c++ visual-studio-2012

我遇到了几个帖子/博客,展示了如何使用注册表项禁用步入特定功能和/或名称空间(例如,增强库).

当我尝试使用VS2012时,我没有得到预期的结果.

我试过了...

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\NativeDE\StepOver]
"10"="std\:\:.*"
"20"="boost\:\:.*"
Run Code Online (Sandbox Code Playgroud)

格式有变化吗?我有正确的注册表项吗?

cwm*_*wm9 28

我终于找到了一个"解决方案":

将新的.natstepfilter添加到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>boost::.*</Name><Action>NoStepInto</Action></Function>
  <Function><Name>std::.*</Name><Action>NoStepInto</Action></Function>
</StepFilter>
Run Code Online (Sandbox Code Playgroud)

我不肯定"boost ::.*"格式在这个具体的例子中是正确的,但它应该是这个或类似的东西.您可以查看文件夹中的其他.natstepfilter文件以获取更多线索.

不幸的是,根据我发现的一篇文章,在调试混合模式(例如,C++/C#)应用程序时这样做是行不通的,这就是我正在做的事情.对于试图弄清楚如何实现此功能的其他人以及可能知道在混合模式下执行此操作的任何人,我会留下这个问题.