Windows-Stop-KMODE_EXCEPTION_NOT_HANDLED-Fehler

Bevor Sie die Ursache für diesen Fehler ermitteln können, müssen Sie die Ausnahme ermitteln. Drei übliche Ausnahmecodes sind:

0x80000002 STATUS_DATATYPE_MISALIGNMENT .

Eine nicht ausgerichtete Datenreferenz wurde gefunden.

0x80000003 STATUS_BREAKPOINT .

Ein Haltepunkt oder ASSERT wurde gefunden, als kein Kernel-Debugger an das System angeschlossen war.

0xC0000005 STATUS_ACCESS_VIOLATION .

Ein Speicherzugriff wurde verletzt.

Parameter 4 (oben) ist die Adresse, auf die der Treiber zugreifen wollte.

Eine vollständige Liste der Ausnahmecodes finden Sie in der Datei ntstatus.h im Verzeichnis inc des Windows Driver Kit.

Grundlegende Fehlerbehebung und Lösung

Grundsätzlich sollten Sie mit diesen grundlegenden Schritten zur Fehlerbehebung beginnen.

  • Wenn der Treiber fehlerhaft ist, deaktivieren Sie den Treiber oder suchen Sie nach Treiberaktualisierungen.
  • Wechseln Sie die Grafikkarte im Computer, um zu sehen, ob das Problem behoben ist.
  • Auf der Website des Motherboard-Herstellers finden Sie ein BIOS-Update.
  • Greifen Sie auf das BIOS zu und deaktivieren Sie die Zwischenspeicherung oder das Spiegeln von Speichern.

Wenn das Problem nicht behoben wurde, vergleichen Sie kürzlich installierte Hardware mit der Liste der getesteten Produkte auf dem Windows Marketplace, um sicherzustellen, dass sie mit Ihrer Windows-Version kompatibel ist.

Wenn ein Gerätetreiber fehlerhaft ist, müssen Sie möglicherweise beim Starten des Computers (vor dem Aufrufen von Windows) durch Drücken von F8 auf der Tastatur auf die abgesicherte Umgebung zugreifen. Wählen Sie den abgesicherten Modus aus dem Startmenü, wenn er angezeigt wird. Im abgesicherten Modus können Sie den fehlerhaften Gerätetreiber löschen und den Computer neu starten. Fahren Sie mit der Installation eines aktualisierten Treibers fort, sofern verfügbar.

Sie können auch das Systemprotokoll in der Ereignisanzeige überprüfen, um zu sehen, ob Fehlermeldungen angezeigt werden. Diese Fehlermeldungen können dazu beitragen, die Ursache des Problems zu ermitteln.

Komplexe Fehlerbehebung

Weitere, komplexere Schritte zur Problembehandlung können durchgeführt werden, wenn die obigen Lösungen das Problem nicht lösen. Diese Schritte umfassen den Zugriff auf eine Stack-Ablaufverfolgung, um die Ursache des Problems zu ermitteln.

Gehen Sie folgendermaßen vor, um eine Stapelablaufverfolgung zu erhalten:

  1. Führen Sie den Befehl kb ( Display Stack Backtrace ) aus, um die Parameter im Stack-Trace anzuzeigen. Suchen Sie nach einem Aufruf an NT! PspUnhandledExceptionInSystemThread.
  2. Der erste Parameter des Aufrufs verweist auf eine Struktur, die zusätzliche Zeiger auf eine Ausnahme-Anweisung enthält:

    Führen Sie den Befehl dd ( Display Memory ) für die Adresse aus, um die entsprechenden Informationen abzurufen und anzuzeigen.

  3. Führen Sie die Befehle .exr ( Display Exception Record ) und .cxr ( Display Context Record ) aus, und verwenden Sie dabei die beiden im vorherigen Schritt abgerufenen Werte als Argumente für die Befehle.
  4. Verwenden Sie nach der Ausführung des Befehls .cxr den Befehl kb, um die Stack-Ablaufverfolgung basierend auf den Kontextdatensatzdaten anzuzeigen. Die Stack-Ablaufverfolgung zeigt an, wo die nicht behandelte Ausnahme aufgetreten ist.

Wenn Sie den Aufruf in Schritt 1 nicht finden können, suchen Sie stattdessen nach Ntoskrnl! KiDispatchException . Führen Sie mit der Trap-Frame-Adresse (dem dritten Parameter) den Befehl .trap ( Trap-Frame anzeigen ) aus, um den Registerkontext auf den entsprechenden Wert festzulegen, um Stack-Traces und andere Befehle auszuführen.