Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
windows:bluescreen_analyse [2013/12/10 18:50] – angelegt psycore | windows:bluescreen_analyse [2024/01/12 14:58] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> | ||
+ | ====== Windows Bluescreen Analyse ====== | ||
+ | Bluescreens können ganz unterschiedliche Auslöser haben. Defekter Speicher, fehlerhafte Treiber und viele andere Faktoren können hier Einfluss haben. | ||
+ | |||
+ | Im ersten Moment erscheinen Bluescreens als nervig, doch sind sie ein Schutz, vor schwerwiegenden Beschädigungen am System. | ||
+ | |||
+ | ===== 1. Debugger herunterladen und installieren ===== | ||
+ | |||
+ | Die Debugging Tools sind Teil des Windows SDK. Diese können bei Microsoft heruntergeladen werden. In der Regel reicht es, nur die Debugging Tools zu installieren und den Rest des SDKs abzuwählen, | ||
+ | |||
+ | ===== 2. Debugger öffnen und Crashdump laden ===== | ||
+ | |||
+ | Nach der Installation öffnen wir den Debugger und gehen als erstes auf **File / Symbol File Paths** | ||
+ | |||
+ | Hier geben wir folgendes ein: | ||
+ | |||
+ | <code text> | ||
+ | SRV*c: | ||
+ | </ | ||
+ | |||
+ | Anschließend drücken wir Ok. Dieser Verweis lädt fehlende Symbole von Microsoft nach. So vermeiden wir unnötige Fehlermeldungen. | ||
+ | Jetzt können wir über **File / Open Crash dump** den Fehlerbericht laden. Dieser liegt im Normalfall unter //" | ||
+ | |||
+ | ===== 3. Erster Einblick ===== | ||
+ | |||
+ | Der erste Blick zeigt manchmal schon einen Hinweis, auf das Problem. | ||
+ | |||
+ | <code text> | ||
+ | ******************************************************************************* | ||
+ | * * | ||
+ | * Bugcheck Analysis | ||
+ | * * | ||
+ | ******************************************************************************* | ||
+ | |||
+ | Use !analyze -v to get detailed debugging information. | ||
+ | |||
+ | BugCheck 9F, {3, fffffa800cf757f0, | ||
+ | |||
+ | *** WARNING: Unable to verify timestamp for amd_sata.sys | ||
+ | *** ERROR: Module load completed but symbols could not be loaded for amd_sata.sys | ||
+ | Probably caused by : amd_sata.sys | ||
+ | |||
+ | Followup: MachineOwner | ||
+ | --------- | ||
+ | </ | ||
+ | |||
+ | Hier erkennen wir schonmal, das der Treiber **amd_sata.sys** der Verursacher sein könnte. | ||
+ | |||
+ | ===== 4. Weitere Analyse ===== | ||
+ | |||
+ | Nun geben wir folgenden Befehl ein: | ||
+ | |||
+ | <code text> | ||
+ | |||
+ | Dies zeigt uns erweiterte Analyseinformationen. | ||
+ | |||
+ | <code text> | ||
+ | 0: kd> !analyze -v | ||
+ | ******************************************************************************* | ||
+ | * * | ||
+ | * Bugcheck Analysis | ||
+ | * * | ||
+ | ******************************************************************************* | ||
+ | |||
+ | DRIVER_POWER_STATE_FAILURE (9f) | ||
+ | A driver has failed to complete a power IRP within a specific time. | ||
+ | Arguments: | ||
+ | Arg1: 0000000000000003, | ||
+ | Arg2: fffffa800cf757f0, | ||
+ | Arg3: fffff800e9d0b770, | ||
+ | Arg4: fffffa800cf07c60, | ||
+ | |||
+ | Debugging Details: | ||
+ | ------------------ | ||
+ | |||
+ | |||
+ | DRVPOWERSTATE_SUBCODE: | ||
+ | |||
+ | IMAGE_NAME: | ||
+ | |||
+ | DEBUG_FLR_IMAGE_TIMESTAMP: | ||
+ | |||
+ | MODULE_NAME: | ||
+ | |||
+ | FAULTING_MODULE: | ||
+ | |||
+ | CUSTOMER_CRASH_COUNT: | ||
+ | |||
+ | DEFAULT_BUCKET_ID: | ||
+ | |||
+ | BUGCHECK_STR: | ||
+ | |||
+ | PROCESS_NAME: | ||
+ | |||
+ | CURRENT_IRQL: | ||
+ | |||
+ | ANALYSIS_VERSION: | ||
+ | |||
+ | DPC_STACK_BASE: | ||
+ | </ | ||
+ | |||
+ | Auch hier tritt wieder der eben genannte Treiber zum Vorschein: **amd_sata.sys**. Nun können wir schon schwer davon ausgehen, dass eben dieser Treiber das Problem ausgelöst hat. In unserem Beispiel handelt es sich um einen undefinierten Zustand, nach dem Standby des PCs. Eine weitere wichtige Information ist hier zu sehen: | ||
+ | |||
+ | <code text> | ||
+ | |||
+ | Dies ist der geblockte Paramter. Auch diesen kann man weiter analysieren mit dem Befehl: | ||
+ | |||
+ | <code text> | ||
+ | |||
+ | Dies Ausgabe könnte nun wie folgt aussehen: | ||
+ | |||
+ | <code text> | ||
+ | | ||
+ | Args: 00000000 00000000 00000000 00000002 | ||
+ | >[ 16, 2] 0 e1 fffffa800e1f4060 00000000 fffff88000f6fe30-00000000 Success Error Cancel pending | ||
+ | | ||
+ | Args: 00041100 00000001 00000001 00000002 | ||
+ | [ 16, 2] 0 e1 fffffa800e1f4b10 00000000 fffff800e87a6830-fffffa800e113b30 Success Error Cancel pending | ||
+ | | ||
+ | Args: 00041100 00000001 00000001 000000 | ||
+ | </ | ||
+ | |||
+ | Auch hier finden wir eindeutige Hinweise, dass der SATA Treiber falsch arbeitet, wenn er aus dem Ruhezustand erwacht. | ||
+ | |||
+ | ===== 5. Fehlerbehebung ===== | ||
+ | |||
+ | Wir haben nun herausgefunden, | ||
+ | |||
+ | ===== 6. Nachwort ===== | ||
+ | |||
+ | Dies ist nur ein Beispiel für eine spezifische Fehlermeldung und soll nur die generelle Vorgehensweise darstellen. Es gibt bei einem Bluescreen kein Universalrezept zur Behebung. Dennoch kann man mit dem Debugger meist für Abhilfe schaffen. Das Problem zu kennen, ist schon 50% der Problemlösung. | ||
+ | |||
+ | Auf Mike's Technology and Finance Blog((http:// |