Windows 故障转储分析 [英] Windows crash dump analysis
问题描述
我正在使用 DebugDiag 来分析 Windows 上的故障转储.
这是报告摘要说明:
在 XXXX.dmp 中,Microsoft Corporation 的 C:\Windows\System32\msvcr120.dll 中 msvcr120!abort+4a 处的汇编指令在线程 26 上导致了未知异常 (0x40000015)>
而调用栈是:
ntdll!NtWaitForMultipleObjects+a内核数据库!WaitForMultipleObjectsEx+e8kernel32!WaitForMultipleObjectsExImplementation+b3kernel32!WerpReportFaultInternal+215kernel32!WerpReportFault+77kernel32!BasepReportFault+1fkernel32!UnhandledExceptionFilter+1fcmsvcr120!_call_reportfault+b6msvcr120!abort+4amsvcr120!terminate+1emsvcp120!_Call_func$catch$0+13msvcr120!_CallSettingFrame+20msvcr120!__CxxCallCatchBlock+f5ntdll!RcConsolidateFrames+3msvcp120!_Call_func+14msvcr120!_callthreadstartex+17msvcr120!_threadstartex+102kernel32!BaseThreadInitThunk+dntdll!RtlUserThreadStart+1d
伙计们,我能从这个崩溃转储中得到什么?
干杯,
多伦
您正在使用 C++ try catch 语句,它或多或少地添加了异常处理代码 msvcr120!__CxxCallCatchBlock+f5 表明了这一点.
kernel32!UnhandledExceptionFilter+1fcmsvcr120!_call_reportfault+b6
然后可能会抛出异常并且不会在您的代码中处理.您可能希望使用应用程序源在 windbg 中更深入地检查异常.如果这是一个托管应用程序,那么您可能需要使用 SOS 扩展.
I am using the DebugDiag to analyze a crash dump on windows.
This is the report summary description:
In XXXX.dmp the assembly instruction at msvcr120!abort+4a in C:\Windows\System32\msvcr120.dll from Microsoft Corporation has caused an unknown exception (0x40000015) on thread 26
And the call stack is:
ntdll!NtWaitForMultipleObjects+a
KERNELBASE!WaitForMultipleObjectsEx+e8
kernel32!WaitForMultipleObjectsExImplementation+b3
kernel32!WerpReportFaultInternal+215
kernel32!WerpReportFault+77
kernel32!BasepReportFault+1f
kernel32!UnhandledExceptionFilter+1fc
msvcr120!_call_reportfault+b6
msvcr120!abort+4a
msvcr120!terminate+1e
msvcp120!_Call_func$catch$0+13
msvcr120!_CallSettingFrame+20
msvcr120!__CxxCallCatchBlock+f5
ntdll!RcConsolidateFrames+3
msvcp120!_Call_func+14
msvcr120!_callthreadstartex+17
msvcr120!_threadstartex+102
kernel32!BaseThreadInitThunk+d
ntdll!RtlUserThreadStart+1d
Guys, what can I make of this crash dump?
Cheers,
Doron
You are using a C++ try catch statement which more or less adds the exception handling Code msvcr120!__CxxCallCatchBlock+f5 shows that.
kernel32!UnhandledExceptionFilter+1fc msvcr120!_call_reportfault+b6
The exception is then probably thrown and is not handled at your code. You may want to inspect the exception deeper in windbg with the source of the application. If this is a managed application then you may want to use SOS extension.
这篇关于Windows 故障转储分析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!