Visual Studio 2010调试器跨越方法,不会在断点处停止

Fla*_*bug 28 debugging visual-studio-2010

我的Visual Studio 2010调试器有时会有一种非常奇怪的行为......

有时它不会在断点处停止,但是当它停止时,我想进入一个方法时,调试器就会跳过它.此外,这些过度步骤方法中的断点也会被忽略.

当这种奇怪的行为发生时,它也不会在异常中中断,而只是忽略它们.

我试图重建我的项目,重置Visual Studio设置并禁用调试器设置,如"仅在我的代码中断开",但没有任何工作.

我该如何解决这个问题?

Jar*_*Par 37

以下是Visual Studio避免单步执行特定方法的原因和解决方法.

  • Just My Code已启用.在某些情况下,"Just My Code"设置将阻止您进入方法/属性.为避免这种情况,您可以在调试器选项页面中禁用"仅我的代码"(工具 - >选项 - >调试器 - >取消选中"仅我的代码")
  • 未为目标方法加载符号.如果目标方法是另一个DLL的一部分,则可能没有为该DLL加载符号,因此默认情况下Visual Studio将无法进入该步骤.要强制加载符号,请打开"模块"视图(调试器 - > Windows - >模块),导航到包含该方法的DLL,右键单击并加载符号.
  • 该方法明确标有调试器属性,例如DebuggerNonUserCode调试器使调试器跳过该方法.
  • 该方法实际上是属性或运算符,并且您启用了"跳过属性和运算符"设置(这是默认设置).可以通过调试器选项对话框禁用此功能.

  • 在Visual Basic Express 2005中(不要问),"工具 - >选项 - >调试器 - >'仅我的代码'"似乎不可用.一种解决方案是在包含"JustMyCode"的行中将文件"C:\ Program Files\Microsoft Visual Studio 8\Common7\IDE\VBExpress\Profiles\VBExpress.vssettings"中的"1"更改为"0",并将文件导入Visual Basic Express 2005.详细信息请参阅*Josh Dannemann的*评论*[如何在Visual Studio 2005中禁用"仅我的代码"](http://johnlamansky.com/tech/how-to-disable-just-my-code -in-visual-studio-2005 /)*并且可能在Stack Overflow某处. (2认同)

Fla*_*bug 3

我已经找到了问题的解决方案,而且非常简单:

在我的解决方案的构建配置中,未选中方法所在项目的“构建”复选框,而这些方法会被过度执行。我检查了,现在一切正常。