C#/ WPF app抛出一个ObjectDisposedException; 为什么我无法捕获或获得堆栈跟踪?

Gra*_*ier 1 c# wpf stack-trace objectdisposedexception

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

错误报告指示它是一个System.ObjectDisposedException,它指示在已处置对象上调用方法的某个位置.那很好,我明白这一部分.

我很想解决它. 我只是无法在这个混蛋上得到一个堆栈跟踪.

该例外正在逃避以下所有情况:

  • 我的DispatcherUnhandledException处理程序
  • 我的try/catch包含Exit事件处理程序的全部内容
  • 单击该应用程序崩溃对话框中的"调试"将关闭它并且不执行任何操作
  • 在VisualStudio的调试模式下运行应用程序似乎可以工作,但奇怪的是,它似乎没有这种方式崩溃,所以没有跟踪

我必须继续的是Windows发送给MS的错误报告的神秘内容.这些十六进制的内存转储并不是那么有用.

有谁知道我怎么能得到那个痕迹?

All*_*nek 5

控制台窗口将显示使用完整堆栈跟踪抛出的任何异常.要向WPF应用程序添加控制台窗口:

  1. 转到WPF应用程序的项目属性.
  2. 选择第一个(侧面)选项卡Application.
  3. Output type选择下Console Application.
  4. 构建并运行您的应用程序.它应该启动一个额外的控制台窗口.崩溃时,您应该看到异常和堆栈跟踪.