c#crash dump不存在

时间:2010-02-01 16:01:35

标签: c# crash-dumps

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

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

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

祝你好运, EL

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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