1

我有一个非常可重复的情况,如果我在我的 C# WinForms 应用程序中单击一个按钮,该应用程序总是会意外关闭,但也会正常关闭。优雅地说,我的意思是我在 app_FormClosing 事件中放置了一个断点,它在那里中断。问题是,我不知道是什么导致应用程序关闭!我在我能找到的每个 Environment.Exit、Application.Exit、this.Close 上都设置了中断,但调试器中没有一个被击中。该应用程序此时不应关闭,但它非常可重复且干净地关闭。

在 VS2010 中,我启用了所有异常类型的中断,并且没有发生异常。

如何找出导致我的应用关闭的原因?有没有办法追踪它?

编辑:在 FormClosing 事件期间,e.CloseReason 设置为 CloseReason.None。我不明白这是如何发生或为什么会发生的。

4

1 回答 1

3

在创建主窗体之前挂钩以下事件:

    AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
    Application.ThreadException += Application_ThreadException;

将输出发送到 MessageBox、文件或其他地方,以查看您是否收到任何未知异常。

于 2013-01-03T21:42:42.513 回答