2009-09-29 58 views
2

我正在研究.NET 4.0 Beta 1应用程序。当应用程序在没有附加调试器的情况下运行并出现未处理的异常时,应用程序崩溃而不会显示未处理的异常对话框(显示调用堆栈和抛出异常的对话框)。未出现.NET未处理的异常对话框

我明白这种行为在生产中是可取的,但现在我试图调试一些当调试器未连接时发生的令人讨厌的错误。

有没有办法让这个对话框出现有未处理的异常?

谢谢

编辑:这是一个WPF应用程序。现在我正在监听UnhandledException事件,但是在应用程序完成处理程序的执行后,它仍会崩溃。对话给了继续选择(我感兴趣的事情之一是)。

回答

2

如果它是一个winforms应用程序,那么你可以设置一个错误处理程序为AppDomain捕捉/处理所有未捕获的异常。

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) 
{ 
    //deal with e.ExceptionObject for info 
} 
+0

该应用程序使用WPF – 2009-09-29 22:01:52

0

尝试将处理程序附加到Application.ThreadException(对于Windows窗体应用程序)和/或System.AppDomain.CurrentDomain.UnhandledException(对于控制台应用程序)。