【问题标题】:Exception seems to be thrown repeatedly when debugging调试时似乎反复抛出异常
【发布时间】:2012-05-23 21:47:29
【问题描述】:

我正在调试我的 ASP.NET 应用程序(C#、Visual Studio)中的异常。 这个异常是在另一个线程的顶层抛出的(这不是问题,我改变了这个行为以不抛出顶层异常)。

我只是想知道这个: 此异常会杀死整个工作进程。但是,当我调试时,调试器会在该异常处停止,并且它似乎被反复“抛出”(每当我按下继续时,它都会再次停止在同一行)。它不再执行之前的行,所以它真的停在那个特殊的异常处。

这仅仅是因为调试器的特殊行为吗?还是在我不调试时也反复抛出异常?

提前致谢!

【问题讨论】:

  • 如果我只是抛出一个未处理的异常,我会得到相同的行为,例如控制台应用程序。我不认为异常被反复抛出 - 只是由于某种原因调试器让你保持在那一行而不是让线程死亡。
  • 感谢您的评论!是的,我之前在控制台应用程序中也看到过这种行为;但从来没有在 ASP.NET 应用程序中。也许是这样,因为在网络应用程序的主线程中存在某种导致黄屏的“全局捕获”。现在我看到了同样的行为,因为这是在另一个线程中?

标签: c# asp.net multithreading debugging exception


【解决方案1】:

这仅仅是因为调试器的特殊行为吗?或者是 当我不调试它时,该异常也会反复抛出?

Visual Studio 调试器不会因为未处理的异常而让线程终止。异常不会被重新抛出,调试器不会让该行继续,因为它会使进程崩溃。如果没有附加调试器,那么 IIS 会给您一个黄屏死机,并且事件日志中将包含其中包含的信息。

调试时所有应用程序、Web 端或客户端的行为都是相同的。

【讨论】:

    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 2013-05-24
    • 2012-12-18
    • 2021-12-25
    • 2013-05-23
    相关资源
    最近更新 更多