C#/WPF应用抛出ObjectDisposedException;为什么我无法捕获或获取堆栈跟踪信息? [英] C#/WPF app throwing a ObjectDisposedException; why am I not able to catch or get a stacktrace?

查看:166
本文介绍了C#/WPF应用抛出ObjectDisposedException;为什么我无法捕获或获取堆栈跟踪信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个C#WPF UI应用程序,当我关闭它时,我总是得到一个Windows应用程序崩溃对话框("UIDemo遇到问题,需要关闭.").

I have a C# WPF UI app, and when I close it, I always get a windows application-crash dialog ("UIDemo has encountered a problem and needs to close.").

错误报告表明它是System.ObjectDisposedException,它指示在已处置对象上某处正在调用方法.很好,我确实了解这一部分.

The error report indicates that it's a System.ObjectDisposedException which indicates that somewhere a method's being called on a disposed object. That's fine, I do understand that part.

我很想修复它. 我只是无法在杂种上获得堆栈跟踪.

该异常规避了以下所有条件:

That exception is evading all of the following:

  • 我的DispatcherUnhandledException处理程序
  • 我尝试/抓住Exit事件处理程序的全部内容
  • 在该Windows应用程序崩溃对话框中单击调试"将其关闭,并且不执行任何操作
  • 在Visual Studio的调试"模式下运行该应用程序似乎可以正常运行,但是,奇怪的是,它似乎并没有以这种方式崩溃,因此没有踪迹

我要做的就是Windows发送给MS的错误报告的神秘内容.这些十六进制的内存转储并不是真的有用.

All I have to go on is the arcane contents of the error report that Windows to send to MS. These hexidecimal dumps of memory aren't really that useful.

有人知道我如何获得该死的痕迹吗?

Does anyone know how I can get that darn trace?

推荐答案

另一种选择是DebugDiag捕获该特定异常并生成故障转储,可以通过psscor2或SOS在WinDbg中对其进行分析.这样您就可以评估堆栈跟踪.

Another option would be to DebugDiag to catch that particular exception and generate a crash dump which could be analyzed in WinDbg via psscor2 or SOS. That will allow you to evaluate the stack trace.

DebugDiag: http://www.microsoft.com. com/download/zh-CN/details.aspx?displaylang = en& id = 24370

DebugDiag: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24370

使用WinDbg调试CLR: http://www.codeproject.com/KB/debug/windbg_part1.aspx

Debugging CLR with WinDbg: http://www.codeproject.com/KB/debug/windbg_part1.aspx

这篇关于C#/WPF应用抛出ObjectDisposedException;为什么我无法捕获或获取堆栈跟踪信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆