告诉视觉工作室跳过?

时间:2012-04-17 19:24:50

标签: c++ visual-studio

调试时我经常按F11进入功能。对于这个项目我使用属性everwhere只是一个RAII包装器,检查我是否设置了变量,如果我没有,给我一个断言。它很有用。

然而现在调试很烦人,因为F11将进入该属性。我可以以某种方式跳过它吗?通过写属性,关键字或任何东西?

我正在使用VS11beta

1 个答案:

答案 0 :(得分:3)

当您处理托管代码时,这很容易设置。您可以使用DebuggerHiddenAttribute类手动标记该函数,甚至可以打开内置调试器设置,例如“跳过属性和运算符”。

不幸的是,Visual Studio对本机C ++代码不支持自动单步执行特定功能。 (至少,直到2010年才得到支持 - 我没有足够的时间和VS 11一起玩,看看这是否是他们给我们的东西,以弥补他们偷走了我们所有颜色的事实。)< / p>

是一种解决方法,但很久以前就在Andy Pennell的博客上记录:
How to Not Step Into Functions using the Visual C++ Debugger

基本上,您编辑以下注册表项(对于VS 2010):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\NativeDE\StepOver

或64位应用程序:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\NativeDE\StepOver

指定一个将由调试器与函数匹配的正则表达式。

例如,如果您不希望调试器进入重载运算符,则可以使用以下表达式:

\scope:operator\oper:=NoStepInto

正如博客文章中的免责声明所说:

  

这不是一个记录在案的功能。很明显,你正在阅读这个“文档”,但我的意思是,它不能保证工作,因为它从未经过官方测试,不是微软支持。它在未来版本中的存在或对当前版本的更新不能得到保证。