使用 Visual Studio 2010 调试器,我熟悉使用“调用堆栈”窗口查看当前执行的函数是从何处调用的。
我正在使用一些具有相当大块的应用程序try
。假设我在块中的断点处暂停代码的执行catch
,那么判断异常从 try 块中的哪一行引发的最简单方法是什么?
我知道“堆栈跟踪”包括行号等详细信息,但有没有更简单的方法(例如快捷键)导航回引发异常的代码行?
更新:我想强调我不希望将执行点移回try
块;我只是想要一种更简单的方法来了解异常是从哪一行引发的。
使用 Visual Studio 2010 调试器,我熟悉使用“调用堆栈”窗口查看当前执行的函数是从何处调用的。
我正在使用一些具有相当大块的应用程序try
。假设我在块中的断点处暂停代码的执行catch
,那么判断异常从 try 块中的哪一行引发的最简单方法是什么?
我知道“堆栈跟踪”包括行号等详细信息,但有没有更简单的方法(例如快捷键)导航回引发异常的代码行?
更新:我想强调我不希望将执行点移回try
块;我只是想要一种更简单的方法来了解异常是从哪一行引发的。
如果您转到“DEBUG”、“Exceptions...”,然后针对“Common Language Runtime Exceptions”选择“Thrown”。
然后,当您的代码遇到异常时,它将在出现错误的行停止。
一个解决方案可能是让 VS 在所有异常上中断:
选择菜单Exceptions
下Debug
,勾选相关的“Thrown”框Common Language Runtime Exceptions
。
现在 VS 现在应该停止并标记引发异常的行。您可以像往常一样继续,点击播放按钮或 F5。
这样做的缺点是所有异常都会以相同的方式被捕获,如果你有很多异常,这可能会很烦人。