【发布时间】:2015-01-19 04:34:08
【问题描述】:
我的 App.xaml.cs 中有这些行,用于全局捕获异常:
this.Dispatcher.UnhandledException += new
DispatcherUnhandledExceptionEventHandler(
Current_DispatcherUnhandledException);
AppDomain.CurrentDomain.UnhandledException += new
UnhandledExceptionEventHandler(
CurrentDomain_UnhandledException);
Application.Current.DispatcherUnhandledException += new
DispatcherUnhandledExceptionEventHandler(
Current_DispatcherUnhandledException);
可以捕获大多数异常并生成日志文件,以便我知道导致错误的原因。但是在我客户的 PC 上(只有 windows 8 有 这个问题),WPF应用程序有时会崩溃但我无法获取异常日志,这意味着上面的异常处理程序没有被调用。
我可以设置任何处理程序来捕获异常吗?或者是否有任何日志收集器/阅读器,如适用于 Windows/WPF 应用的 android DDMS?
谢谢!
【问题讨论】:
-
您是否针对特定异常调试过代码?或者您可以参考应用程序崩溃弹出窗口中的异常堆栈。您还可以在事件查看器中查看异常堆栈。
-
有一些方法可以使程序崩溃而不涉及抛出托管异常。不幸的是,您的问题中没有足够的细节来了解具体问题是什么,以及认为您可以捕获实际发生的任何错误是否现实。
-
另一个无法捕获的异常是 StackOverflowException
-
如果您的异常处理程序没有捕获到错误信息,请查看
Windows Event Viewer->Windows Logs->Application。 -
参见stackoverflow.com/questions/4223470/… 处理非托管异常