Wie analysiere ich einen Speicherauszug unter Windows nach einem Bluescreen-Fehler?

14

Mein Computer mit Windows 7 x64 stürzt von Zeit zu Zeit ab. Können Sie uns bitte mitteilen, wie Sie den Speicherauszug analysieren oder mögliche Ursachen und weitere Schritte zur Fehlerbehebung aufzeigen können?

Der Computer wurde von einem Bugcheck neu gestartet. Die Fehlerüberprüfung lautete: 0x0000003b (0x00000000c0000005, 0xfffff96000015de8, 0xfffff88007db9fb0, 0x0000000000000000). Ein Speicherauszug wurde gespeichert in: C: \ Windows \ MEMORY.DMP. Berichts-ID: 080210-24819-01.

Das Zitat aus dem Ergebnis von WinDbg ausführen

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - Der Befehl um 0x% 08lx verwies auf den Speicher um 0x% 08lx. Der Speicher konnte nicht% s sein.

...

DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT

BUGCHECK_STR: 0x3B

PROCESS_NAME: explorer.exe

...

MODULE_NAME: win32k

IMAGE_NAME: win32k.sys

Gibt es eine Möglichkeit zu verstehen, welcher bestimmte Fahrer ein Problem hat?

bublegumm
quelle
Siehe auch - superuser.com/questions/28448/...
Nick Josevski

Antworten:

19

Ich würde das Debugging-Tool von Microsoft verwenden: WinDbg . Es kann Speicherabbilder wie die Ihren lesen und automatisch analysieren. (Der Befehl WinDbg ist treffend benannt: !analyze)

Das Tool ist leistungsfähig, aber recht komplex. Hier ist eine detaillierte Anleitung .

Das gleiche Forum schlägt vor BlueScreenView vor . Ich habe es nicht ausprobiert; Es ist wahrscheinlich einfacher zu bedienen, enthält jedoch keine detaillierten Informationen.


aktualisieren:

Gibt es eine Möglichkeit zu verstehen, welcher bestimmte Fahrer ein Problem hat?

Nach dem !analyzeLaufk oder kd. Dadurch wird der Stack-Trace unmittelbar vor dem Absturz angezeigt. Der Stack-Trace ist die Liste der Funktionsaufrufe, die unmittelbar vor dem Absturz ausgeführt wurden, wobei der letzte ganz oben steht. Sie sollten zumindest in der Lage sein, die Dateinamen der beteiligten Module (DLLs) zu lernen.

Ich schlage vor, die vollständigen Ergebnisse !analyzeund / oder den Speicherauszug mit Personen zu teilen, die über WinDbg-Kenntnisse verfügen und daran interessiert sind, zu helfen. Das zuvor verlinkte MajorGeeks-Forum sieht nach einem guten Ort aus.

Leftium
quelle
Vielen Dank! Hast du irgendwelche Ideen, was der nächste Schritt ist? Ich habe die Ergebnisse von WinDbg run
bublegumm hinzugefügt
1
Dieser Thread im MajorGeeks-Forum ist großartig und bietet eine ziemlich gute Anleitung zum schrittweisen Lesen einer memory.dmp-Datei.
russds
Ohne fundiertes Wissen !analyze -vist es fast sinnlos, nur die Ausgabe zu verstehen (und BlueScreenView bietet meistens das). Das Vorschlagen, sich den Aufrufstapel anzusehen, mag bei StackOverflow sinnvoll sein, ist hier aber etwas albern. Außerdem habe ich mein Post-Mortem-Debugging von Windows-Treibern durchgeführt, und viele der Fälle sind bei weitem nicht so eindeutig, wie Sie es klingen lassen.
0xC0000022L
1

Es gibt ein kostenloses Tool namens BlueScreenView , das die Dump-Dateien analysiert c:\windows\minidumpund ein grafisches Fenster anzeigt, damit der Benutzer die Fehler identifizieren kann

Jacob Justin
quelle
-1

Dies kann es verursachen http://support.microsoft.com/kb/980932 (Verwenden Sie "Anzeigen und Anfordern von Hotfix-Downloads" oben auf der Seite, um den Hotfix anzufordern. Wenden Sie den Hotfix nicht an, wenn es sich nicht um ein 1394-Firewire handelt Problem)

Ansonsten ist es wahrscheinlich ein Grafiktreiber, der es verursacht. Dies scheint in W7 häufig zu sein, aber andere Hardware kann es ebenfalls verursachen. Schlechte Speichermodule sind ebenfalls sehr verdächtig.

Fehlerprüfung 0x3B: SYSTEM_SERVICE_EXCEPTION

http://msdn.microsoft.com/en-us/library/ff558949(v=VS.85).aspx

Die Fehlerprüfung SYSTEM_SERVICE_EXCEPTION hat den Wert 0x0000003B. Dies weist darauf hin, dass beim Ausführen einer Routine, die von nicht privilegiertem Code zu privilegiertem Code übergeht, eine Ausnahme eingetreten ist. Parameter

Die folgenden Parameter werden auf dem blauen Bildschirm angezeigt. ParameterDescription 1Die Ausnahme, die die Fehlerprüfung verursacht hat. 2Die Adresse des Ausnahmesatzes für die Ausnahme, die die Fehlerprüfung verursacht hat. 3Die Adresse des Kontextdatensatzes für die Ausnahme, die die Fehlerprüfung verursacht hat. 40

Ursache

Dieser Fehler wurde mit einer übermäßigen Auslastung des ausgelagerten Pools in Verbindung gebracht und kann auftreten, wenn Grafiktreiber im Benutzermodus fehlerhafte Daten überqueren und an den Kernelcode übergeben.

Moab
quelle