0

我有一个 WPF 程序,它有时会崩溃,我想知道它崩溃时的调用堆栈(或其他一些信息)。我怎样才能做到这一点?
太谢谢了。

================ 更新:最后,我可以使用以下方法记录调用堆栈。注册一个处理程序以在发生未处理的异常时记录调用堆栈。

在主类中,AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(UnhandledExceptions);

如果您有其他想法,请分享。谢谢。

4

2 回答 2

2

您可以处理 App 类的 UnhandledException 事件

protected override void OnStartup(StartupEventArgs e)
{
    AppDomain.CurrentDomain.UnhandledException += AppDomainUnhandledException;
}
private void AppDomainUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    Log( e.ExceptionObject );
}
于 2013-06-23T17:15:34.610 回答
0

您是否尝试过在 Visual Studio 中单步执行代码?

这应该突出显示代码失败的一般区域。

向前将受影响的区域包装在 try...catch 语句中将允许您打印异常的内容以及随后的堆栈跟踪。

于 2013-06-23T16:14:36.897 回答