我有一个非常可重复的情况,如果我点击我的C#WinForms应用程序中的按钮,该应用程序总是意外关闭,但也优雅。优雅地,我的意思是我在app_FormClosing事件中放置了一个断点,它在那里打破了。问题是,我不知道是什么导致该应用程序关闭!我在每个Environment.Exit,Application.Exit,this.Close上放了休息,我找不到它们,并且它们都没有在调试器中命中。该应用程序此时不应关闭,但它可以非常重复和干净地完成。
在VS2010中,我启用了所有异常类型的中断,并且没有发生异常。
如何找出导致我的应用关闭的原因?有没有办法追踪它?
编辑:在FormClosing事件期间,e.CloseReason设置为CloseReason.None。我不知道如何或为什么会发生这种情况。
答案 0 :(得分:3)
在创建主表单之前挂钩以下事件:
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
Application.ThreadException += Application_ThreadException;
将输出发送到MessageBox,文件或其他地方以查看您是否收到任何未知异常。