2017-02-24 45 views
0

使用我的应用程序的客户端会崩溃,所以他们向我发送了这两个文件WER178D.tmp.hdmpWER1868.tmp.mdmp。我首先在WinDbg中打开它。不幸的是,我不知道该怎么做。我知道这是一个太宽泛的问题,但我可以请一些初步指导?在故障转储中分析异常

enter image description here

+1

请尝试关注本教程http://forums.majorgeeks.com/index.php?threads/how-to-debug-memory-dumps-figure-out-what-is-causing-a-bsod.35246/ – BugFinder

+1

希望这个博客对你有用http://stevestechspot.com/ –

回答

0

首先,确保你使用的WinDbg的正确版本。使用64位版本的64位崩溃转储和32位版本进行32位崩溃转储。 (我可以从寄存器和地址中看到,你似乎已经这样做了。)

接下来,fix your symbols。没有正确的符号,你可能会得到错误或误导性的结果。

如果您不知道,请尝试!analyze -v;例外情况继续如下。

如果您知道这是一个例外情况,请使用.ecxr(您已经这样做)切换到例外记录。

.exr -1打印本机异常详细信息。如果异常代码是0xE0434F4D,那么这是一个.NET异常。请注意,有些例外情况没有该代码,但仍然是.NET例外(例如Access violation可能是NullReferenceException)。

如果它是一个.NET应用程序,与

.loadby sos clr 
.loadby sos mscorwks 
.loadby sos coreclr 

加载.NET扩展为.NET 4,分别.NET 2和Silverlight/.NET核心。它成功了,如果你没有收到错误信息。使用!pe打印托管异常的详细信息。