2013-06-23 52 views
0

我有一个WPF程序,它有时崩溃,我想知道调用堆栈(或一些其他信息),当它崩溃。我怎样才能做到这一点?
非常感谢。如何获取调用堆栈当我的WPF程序崩溃

================ updated: 最后,我可以使用下面的方法记录调用堆栈。 注册一个处理程序,以便在发生unhandleleception时记录调用堆栈。

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

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

回答

0

您是否试过在Visual Studio中逐步完成代码?

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

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

+0

致谢UnhandledException事件。它不在开发env中,所以我不能使用visual studio进行调试。我只想让程序在崩溃时记录调用堆栈。 – user1205398

2

您可以处理App类

protected override void OnStartup(StartupEventArgs e) 
{ 
    AppDomain.CurrentDomain.UnhandledException += AppDomainUnhandledException; 
} 
private void AppDomainUnhandledException(object sender, UnhandledExceptionEventArgs e) 
{ 
    Log(e.ExceptionObject); 
} 
相关问题