Wenn ngen auf einer .NET-verwalteten Anwendung zur Installationszeit ausgeführt wird und ein Absturzspeicherauszug aus der Windows-Fehlerberichterstattung für die App abgerufen wird, wie kann er verwendet werden Sehen Sie einen Stack-Trace, Variablen usw.?Debuggen eines WER Minidumps eines "ngen" ed Bildes
Hier ist ein Hintergrund, der sich auf die Frage bezieht: Wir haben eine .NET-Anwendung, die bei der Installation gestartet wird. Wenn es aufgrund einer nicht behandelten .NET-Ausnahme abstürzt, wird der Absturz in der Windows-Fehlerberichterstattung ignoriert, und ich konnte die Datei minidump.mdmp von winqual.microsoft.com herunterladen.
Ich legte Minidump.mdmp in einen Ordner mit den .dbg-Dateien für den Build der App, die abgestürzt ist, und doppelt auf Minidump.mdmp, um es in einer neuen Instanz von VS2008 SP1 zu öffnen. Mein Stack-Trace sieht wie folgt aus:!
kernel32.dll Raiseexception() + 0x3D Bytes
mscorwks.dll RaiseTheExceptionInternalOnly() + 0x295 Bytes
mscorwks.dll JIT_Throw() + 0x130 Bytes
MeineAnw .ni.exe! 000007feee74c84c()
[Frames unten sein kann falsche und/oder fehlen, geladen keine Symbole für MyApp.ni.exe]
0000000070000d5e()
MyApp.ni.exe! 000007feee611000()
000000000300bf78()
000000000300bf60()
Das Fenster Module gibt an, dass Symbole für das OS und .NET-DLLs geladen werden, sondern auch für die Anwendungsmodule, bekomme ich diese:
MyApp.exe -> keine native Symbole in Symboldatei.
MyApp.ni.exe -> Keine passende Binärdatei gefunden.
MyAppsLibrary.ni.dll -> Keine passende Binärdatei gefunden.
Vielleicht eine dumme Frage, haben Sie Ihre App mit DEBUG kompilieren so definiert, dass es die PDB-Dateien erzeugen würde? –
Diese Frage von Stack Overflow könnte von Interesse sein. http://stackoverflow.com/questions/850617/how-to-extract-debugging-information-from-a-crash –
Und dies ist ein Abschnitt gestartet Getting für Crash-Debugging. http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#a http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx#a –