如何跳回到在Visual Studio 2010调试器中引发异常的代码行?

Dan*_*don 11 debugging exception-handling exception visual-studio-2010 visual-studio

使用Visual Studio 2010调试器,我熟悉使用"调用堆栈"窗口来查看当前正在执行的函数的调用位置.

我正在使用一些具有相当大块的应用程序try.假设我在catch块中的断点处暂停执行代码,那么判断try块中哪一行引发异常的最简单方法是什么?

我知道"堆栈跟踪"包含行号等详细信息,但是有一种更简单的方法,例如快捷键,可以导航回引发异常的代码行吗?

更新:我想强调一点,我不希望将执行点移回try块; 我只想要一种更简单的方法来了解引发异常的行.

Dav*_*haw 13

如果您转到"DEBUG","Exceptions ...",然后选择"Thrown"对"Common Language Runtime Exceptions".

例外

然后,当您的代码遇到异常时,它将在错误的行上停止.

  • 我在VS 2017中没有“例外”选项,因此必须使用此处概述的步骤启用它:https://msdn.microsoft.com/zh-cn/library/d14azbfh(v=vs.110)。 aspx。或者,只需按ALT + CTRL + E (2认同)

Kja*_*tan 3

解决方案可能是让 VS 在所有异常上中断:

选择菜单Exceptions下方Debug,勾选与 相关的“抛出”框Common Language Runtime Exceptions

现在 VS 应该停止并标记抛出异常的行。您可以像往常一样继续,单击播放按钮或 F5。

这样做的缺点是所有异常都会以相同的方式捕获,如果有很多异常,这可能会很烦人。