Visual studio Visual Studio中逐步调试期间自动跳过STL函数
在分步调试过程中,我经常使用“单步执行”在我正在调试的部分的每一行停止,以查看执行的所有代码 但是库调用可能会中断这个工作流程:调试器将跳转到某个STL文件并继续下去。然后我必须按“跳出”返回到我自己的代码Visual studio Visual Studio中逐步调试期间自动跳过STL函数,visual-studio,visual-studio-2010,debugging,Visual Studio,Visual Studio 2010,Debugging,在分步调试过程中,我经常使用“单步执行”在我正在调试的部分的每一行停止,以查看执行的所有代码 但是库调用可能会中断这个工作流程:调试器将跳转到某个STL文件并继续下去。然后我必须按“跳出”返回到我自己的代码 有没有办法阻止调试器打开STL源文件?黑名单还是某处的设置?我使用本地C++代码工作。不幸的是,“仅我的代码”调试器设置仅适用于托管代码。好问题,调试器不断地跳入所有内容确实是调试过程中的巨大减速和干扰。幸运的是,有一个解决方案: 打开注册表编辑器,导航到 HKLM\SOFTWARE\Mic
有没有办法阻止调试器打开STL源文件?黑名单还是某处的设置?我使用本地C++代码工作。不幸的是,“仅我的代码”调试器设置仅适用于托管代码。好问题,调试器不断地跳入所有内容确实是调试过程中的巨大减速和干扰。幸运的是,有一个解决方案: 打开注册表编辑器,导航到
HKLM\SOFTWARE\Microsoft\VisualStudio\10.0\NativeDE\StepOver
(如果您在64位计算机上,请在软件后添加\wow6432节点,这在过去会让我头疼)
添加一个新的字符串值(REG_SZ)。名称并不重要,为了清晰起见,我使用了NoSTL,并将其值设置为
std\:\:.*=NoStepInto
这告诉调试器不要单步执行与该正则表达式匹配的任何操作,这样它将跳过std命名空间中的每个函数(全局和类级别)。
通过使用StepInto
可以为特定的方法添加覆盖,并且仍然可以使用断点。添加一些您自己的方法也很方便,这些方法经常被采用,但您可以直接知道结果
是一个更详细的解释,谷歌在
NoStepInto
上搜索更多分散的信息。你不使用F10/F11/Shift+F11???这些是“跨过”、“跨进”、“走出”,还有更多有用的。比搜索按钮有用得多,而且您永远不必把目光从源代码上移开
通常,在VisualStudio中使用键盘快捷键而不是鼠标可以很好地为您服务。不只是为了调试,而是为了一切。学习他们,你会爱上他们的!你可能无法一次学会所有的功能,只需选择一些你经常使用的功能,习惯它们,然后从另一组开始。随着时间的推移,它成为第二天性
很抱歉,这是一个离题的问题,但您最初的问题已经在上一张海报中得到了很好的回答,我想我应该帮您做点别的:)答案如上所述,但如果您使用VisualStudio 2017或它对您不起作用,请尝试以下方法: C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\Common7\Packages\Debugger\Visualizers 用记事本或其他任何工具打开以下文件: default.natjmc 并添加以下行:
std\:\:.*nospinto
“名称”表示该文件中注册表项的值,“操作”是不言自明的
如果您也想添加注册表项(不确定是否有必要),则可以在此处找到它:
\HKEY\u LOCAL\u MACHINE\SOFTWARE\WOW6432Node\Microsoft\VSTA\8.0\NativeDE\StepOver
至少,我的情况就是这样。找到这些花了一个小时,所以我希望它能帮助别人。
如上所述,如果您有32位计算机,请删除“Wow6432Node”。可能与我在重新安装电脑时再次执行的操作重复。位置仍然是Package\Visualization文件夹。我不需要注册表项。但是这次我不得不在:
default.natstepfilter
文件中添加这一行,而不是default.natjmc
文件。简单地说,将它添加到与我上面发布的行具有相同格式的文件中。对于visual studio 2019,您必须编辑C:\Program Files(x86)\Microsoft visual studio\2019\Enterprise\Common7\Packages\Debugger\Visualizers\default.natstepfilter
,格式为:std\:\:.*nosepinto
。更改会立即应用,无需重新启动IDE。在Visual Studio 2015中如何执行相同的操作?我没有安装VS2015,但我认为类似于我编写的内容或公认的答案应该适用于它。毕竟,他们的模式似乎都很相似。