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