Windbg 由.net 4.0的gflags.exe创建的分析崩溃转储,但没有足够的信息

Windbg 由.net 4.0的gflags.exe创建的分析崩溃转储,但没有足够的信息,windbg,crash-dumps,sos,Windbg,Crash Dumps,Sos,用c#4.0编写的windows服务,设置gflags.exe(全局标志)以在进程崩溃时保存转储 但是当我在windbg中打开崩溃转储时,我得到了0:00>。我不擅长windbg,我记得Tess的博客上说,当打开崩溃转储时,你应该看到发生异常的线程id,但我看到的是0:00>。。。还有!pe没有有用的结果 使用!dumpheap-stat,我只能看到很少的对象,所以如何分析这个转储? 非常感谢您的帮助。如果您看到使用的对象很少!dumpheap-stat,则此转储可能生成得太晚,或者在错误的时间

用c#4.0编写的windows服务,设置gflags.exe(全局标志)以在进程崩溃时保存转储

但是当我在windbg中打开崩溃转储时,我得到了0:00>。我不擅长windbg,我记得Tess的博客上说,当打开崩溃转储时,你应该看到发生异常的线程id,但我看到的是0:00>。。。还有!pe没有有用的结果

使用!dumpheap-stat,我只能看到很少的对象,所以如何分析这个转储?
非常感谢您的帮助。

如果您看到使用的对象很少!dumpheap-stat,则此转储可能生成得太晚,或者在错误的时间生成

您可以尝试使用Debug Diag或ADPlus重新捕获转储(当然,在执行此操作之前,您需要重置GFlags中的更改)


确实~*e!pe输出您感兴趣的例外情况? 漫长的道路是:

!threads
~#s, where # is the number of the thread which has an exception
!pe

!pe
只会为您提供当前线程上的异常,因此您可能需要切换到另一个线程以转储异常。使用
!线程
以获取托管线程的概述。这还将列出每个线程的所有托管异常。