【问题标题】:Minidump generated by WER, but no stack trace is availableWER 生成的 Minidump,但没有可用的堆栈跟踪
【发布时间】:2014-05-14 00:31:22
【问题描述】:

我有一个用 C# 编写的 WPF 应用程序,它在同事的机器上崩溃了。幸运的是,他将 Windows 错误报告设置为在发生崩溃时生成小型转储。他给我发了他的 .exe、他的 .pdb 和他的 .dmp。我将它们全部放在同一个目录中,并从 Visual Studio 2013 中的该位置打开 .dmp。我从 Microsoft 符号服务器中添加了符号,然后尝试使用混合进行调试,但尽管调试器启动,但我什么也没看到。通常在故障转储中我会得到一个堆栈跟踪或其他东西,但调试器实际上没有显示任何东西 - 没有线程,什么都没有。

该应用程序是一个 x64 WPF 应用程序,使用 RadControls for WPF 等第三方 DLL,异常代码为 0xC0000005。它说堆信息不存在。

我可以做些什么来查看有关我的错误的更多信息,或者至少确保下次发生这种情况时可以使用一些堆栈跟踪?

【问题讨论】:

    标签: c# wpf stack trace windows-error-reporting


    【解决方案1】:

    我的 Winforms 应用程序也遇到了类似的情况,以下是我使用堆栈跟踪获取转储的步骤。

    1. Turned on Windows Error Reporting。确保将 DumpType 设置为生成完整转储。

    2. 在程序代码中,在Project Settings中关闭Application Framework,创建自定义入口类。

    3. Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException); 行添加到Main()

    现在,如果应用程序有未处理的异常,它会崩溃并创建一个可以打开和调试的转储文件。

    注意:对于用户引发的异常,这仍然没有指向正确的行,但它确实适用于应用程序生成的异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2019-10-02
      • 2016-01-28
      • 1970-01-01
      相关资源
      最近更新 更多