0

在过去的 VB6 中,当调试错误时,我会在错误处理程序中临时键入 Resume 以将我带回到导致错误的行。

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

所以只是要清楚。

  1. 我知道有什么东西导致了异常,所以我在 catch 语句上放了一个断点
  2. 调试器在 catch 中遇到断点,我想知道是哪一行导致了它并将调试器带回它。

我不能使用 Debug > Options - 抛出所有异常,因为应用程序中还有其他异常静默发生(我没有写)。

谢谢

4

3 回答 3

2

需要继续跳出catch语句,然后可以“Set Next Statement”或者将黄色箭头向上拖到try语句的开头。

于 2012-04-18T15:55:21.523 回答
2

异常中的堆栈跟踪将告诉您它发生在哪一行。然后,您可以将黄色箭头拖回该行并从那里恢复调试。

于 2012-04-18T15:58:23.250 回答
0

最好的想法可能是在 try 块的开头放置一个断点,如果您随后单步执行该块,它会告诉您错误在哪里。

或者,暂时删除 try 和 catch,Visual Studio 将在引发异常的行停止执行,因为不会捕获异常。

于 2012-04-18T15:52:28.993 回答