2012-04-18 80 views
0

在调试错误时VB6的美好时代,我会临时在错误处理程序中键入Resume以使我回到导致错误的行。C#异常调试 - 如何返回并恢复异常行

有没有办法在C#中做同样的事情?我不是在谈论一种永久性的回归方式,这只是在您正在调试时,并且您想知道哪一行导致了您当前正在使用catch语句的异常。

所以只是要清楚。

  1. 我知道的东西引起的异常,所以我把一个破发点上的catch语句
  2. 调试器命中断点在抓,我想知道哪行引起的,并采取了调试器回它。

我无法使用调试>选项 - 抛出所有异常,因为应用程序中还有其他异常在无声地发生(我没有写出它)。

感谢

+0

如果还有其他异常被抛出,你可以限制抛出的异常执行停止到你想要捕捉的异常。 – Dugan 2012-04-18 15:52:10

+1

如果pdb文件存在,每个异常都会有一个带有文件名和行号的堆栈跟踪。你不能用这个吗? – 2012-04-18 15:52:59

回答

2

异常中的堆栈跟踪会告诉你它发生了什么行。然后,您可以将黄色箭头拖回到该行并从此继续进行调试。

0

最好的办法很可能把一个断点在try块的开始,如果你再通过该块它会告诉你哪里出错步骤。

或者,暂时删除try和catch,并且visual studio会停止执行抛出异常的行,因为异常不会被捕获。

2

您需要继续跳出catch语句,然后您可以“设置下一个语句”或将黄色箭头拖到try语句的开头。