2016-05-17 6 views
0

Ich benutze das DebugDiag, um einen Absturzabbild auf Windows zu analysieren.Windows Crash-Dump-Analyse

Dies ist der Bericht zusammenfassende Beschreibung:

In XXXX.dmp die Montageanleitung bei msvcr120 abbrechen + 4a in C: \ Windows \ System32 \ msvcr120.dll von Microsoft Corporation in eine unbekannte Ausnahme verursacht hat (0x40000015) auf dem Gewinde 26

Und den Call-Stack ist:

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 

Jungs, was kann ich dieses Crash-Dump zu machen?

Cheers,

Doron

+0

'abort' ist ein Effekt, nicht die Ursache. Die Ursache ist früher zwischen 'msvcp120! _Call_func + 14' und' msvcr120! __ CxxCallCatchBlock + f5' aufgetreten. Ich würde versuchen, einen Dump auf die erste Chance Ausnahme (n) mit procdump von sysinternals und analysieren diese. –

+0

'dps poi ($ teb + 8) poi ($ teb + 4)' kann Ihnen helfen zu bestimmen, was eine Zeit der Ausnahme genannt wurde. Stellen Sie sicher, dass der aktuelle Thread derjenige ist, der die Ausnahme vor dem Ausführen dieses Befehls verursacht hat. –

Antwort

1

Sie verwenden eine C++ catch-Anweisung zu versuchen, die mehr oder weniger die Ausnahmebehandlung-Code msvcr120 fügt! __ CxxCallCatchBlock + f5, das zeigt.

kernel32! UnhandledExceptionFilter + 1fc msvcr120! _call_reportfault + b6

Die Ausnahme wird dann wahrscheinlich geworfen und wird nicht auf den Code behandelt. Möglicherweise möchten Sie die Ausnahme tiefer im Wind mit der Quelle der Anwendung untersuchen. Wenn dies eine verwaltete Anwendung ist, möchten Sie möglicherweise die SOS-Erweiterung verwenden.

+0

Das wäre wahrscheinlich besser als Kommentar gewesen. Auch wenn der CRT auf dem Stapel ohne CLR ist, ist dies nativer Code. –