C++ 如何避免在VisualStudio中调试Boost源代码?

C++ 如何避免在VisualStudio中调试Boost源代码?,c++,debugging,visual-c++,boost,visual-studio-debugging,C++,Debugging,Visual C++,Boost,Visual Studio Debugging,有没有办法从调试中排除boost源代码(或任何其他代码)?我不想进入boost内部源代码 例如: boost::shared_ptr<Xyz> xyz(new Xyz()); xyz->someMethod(); boost::shared_ptr xyz(new xyz()); xyz->someMethod(); 当我想使用F11进入Xyz::someMethod()时,调试器首先进入boost/shared\ptr.hpp,然后进入Xyz::someMethod()启

有没有办法从调试中排除boost源代码(或任何其他代码)?我不想进入boost内部源代码

例如:

boost::shared_ptr<Xyz> xyz(new Xyz());
xyz->someMethod();
boost::shared_ptr xyz(new xyz());
xyz->someMethod();

当我想使用F11进入
Xyz::someMethod()
时,调试器首先进入
boost/shared\ptr.hpp
,然后进入Xyz::someMethod()启动
regedit
并导航到以下键:

在32位操作系统下:

HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\NativeDE\StepOver

在64位操作系统下:

HKEY\u LOCAL\u MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\NativeDE\StepOver

在那里创建一个新的字符串值。随便你怎么说。将其作为内容输入:

boost\:\:..*

(您需要重新启动Visual Studio。)

对于Visual Studio 2012: 如上所述,此信息存储在文件
C:\ProgramFiles[(x86)]\Microsoft Visual Studio 11.0\Common7\Packages\Debugger\Visualizers\default.natstepfilter中

对于boost::shared_ptr,这有助于:

<Function><Name>boost::shared_ptr&lt;.*</Name><Action>NoStepInto</Action></Function>
boost::shared_ptr.*NoStepInto

进来,出去,再进来。对于具有构造函数的类参数函数,也会得到同样的结果。是的,我当然可以介入和退出,但我想避免这种情况。在eclipse中,我可以将sorce代码排除在调试之外。这种情况与非托管C++有点不同。在此处查找有关如何设置自动单步执行的信息:输入断点并单击“继续”。如果您使用的是Visual Studio Express,则键为
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\VCExpress\10.0\NativeDE\StepOver
这听起来是一个不错的解决方案,但是今天,我们的IT管理员决定启动
regedit
对我们来说是危险的,noobs:-(>+1 anywayWorks for VS 2015。谢谢!VS 2017此文件可在以下位置找到:
C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Packages\Debugger\Visualizers
谢谢“boost::*NoStepInto”以清除所有boost文件。