C#应用程序退出没有明显原因

时间:2013-01-03 21:39:06

标签: c# winforms

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

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

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

编辑:在FormClosing事件期间,e.CloseReason设置为CloseReason.None。我不知道如何或为什么会发生这种情况。

1 个答案:

答案 0 :(得分:3)

在创建主表单之前挂钩以下事件:

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

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