【问题标题】:c# crash dump does not existc#故障转储不存在
【发布时间】:2010-02-01 16:01:35
【问题描述】:

我有一个 C# 应用程序,它有时会因为未知原因而崩溃。因此,我想找到故障转储文件但它不存在。我还编写了一个小应用程序,它引发了DivideByZero 异常(未处理)。这样做的后果:在一个系统上程序在没有任何消息的情况下关闭,在另一个系统 (VM) 上,我得到一个简单的崩溃报告,它想向 Microsoft 发送数据。

我配置了drwtsn.exe 和注册表设置。我也尝试使用WinDbg,但没有成功。

有人知道如何强制系统写入转储文件吗?

最好的问候, 埃尔

【问题讨论】:

    标签: c# crash-dumps


    【解决方案1】:

    您需要为 AppDomain.UnhandledException 事件编写事件处理程序。记录 e.ExceptionObject.ToString() 值几乎总是足够好,堆栈跟踪会告诉您代码是如何遇到问题的。

    P/从 dbghelp.dll 调用 MiniDumpWriteDump() 也是可能的,你会得到一个 .dmp 文件,你可以用它来分析 WinDbug 的异常。 Dbghelp.dll 在 Vista 和 Win7 上可用,您可以从 Debugging Tools for Windows 下载早期版本。但是,在 VS2010 发布之前,您无法从该小型转储中获得良好的托管堆栈跟踪。

    【讨论】:

    • 感谢您的 awnser,但未调用 UnhandledException 事件。我的应用程序在没有任何提示的情况下终止。
    【解决方案2】:

    ADPlus 是最简单的方法。大量文档从这里开始:http://support.microsoft.com/kb/286350

    【讨论】:

    • 我希望客户不必配置他的 PC。有没有别的办法???感谢您的建议
    猜你喜欢
    • 1970-01-01
    • 2016-09-09
    • 2016-03-21
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多