我们的应用程序可能在加载过程中崩溃,仅在某些机器上,我没有得到任何异常,只有 Windows“发送报告”对话框。
是否有某种方法可以获得有关导致应用程序崩溃的原因的更多信息? 在“发送报告”对话框中,只有:
应用程序名称:evox.wpfclient.exe
应用版本:1.0.0.0
模组名称:kernel32.dll
模组版本:5.1.2600.5781
偏移量:00012afb
最佳答案
在启动应用程序的类中处理 AppDomain.CurrentDomain.UnhandledException 事件。通常是program.cs。
添加
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
然后在主类之外
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
if (e.ExceptionObject is Exception)
_logger.FatalException("Unhandled exception", (Exception)e.ExceptionObject);
else
_logger.Fatal("Unhandled exception: {0}", e.ExceptionObject);
if (_program != null)
_program.Exit();
}
到启动文件并查看它是否捕获您的异常。当然可以更改方法以适合您的目的。
关于wpf - 我们的应用程序在启动过程中崩溃 - 无一异常(exception),只有 "Send report",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5703658/