Windows stoppt den UNEXPECTED_KERNEL_MODE_TRAP-Fehler

Die Fehlermeldung UNEXPECTED_KERNEL_MODE_TRAP oder Stop 0x0000007F tritt auf, wenn eine Intel-CPU einen Trap erstellt hat und der Kernel den Trap nicht abgefangen hat. Der Trap kann entweder gebunden sein, wo der Kernel ihn nicht abfangen darf, oder ein doppelter Fehler sein, wo gleichzeitige Fehler zu einem Systemausfall führen.

Beim Stoppcode gibt der erste Parameter, der auf dem blauen Bildschirm angezeigt wird, den Trap-Code an. Die häufiger anzutreffenden Trap-Codes sind:

  • 0x00000000 Fehler Division durch Null – DIV-Befehl wird ausgeführt und Divisor ist Null; Wird häufig durch beschädigten Systemspeicher, Hardwareprobleme oder Softwarefehler verursacht.

  • 0x00000004 Überlauf – Der Prozessor (CPU) führt einen Aufruf an einen Interrupt-Handler aus, wenn das OF (Überlauf-Flag) gesetzt ist.

  • 0x00000005 Bounds Check Fault – Beim Ausführen einer BOUND-Anweisung stellt der Prozessor fest, dass der Operand die angegebenen Grenzen überschreitet.

  • 0x00000006 Ungültiger Opcode – Prozessor versucht, eine ungültige Anweisung auszuführen; Wird häufig durch beschädigte Befehlszeiger verursacht (die auf einen ungültigen Speicherort zeigen), häufig aufgrund eines beschädigten Systemspeichers.

  • 0x00000008 Doppelfehler – Ausnahme tritt auf, wenn der Handler einer vorherigen Ausnahme aufgerufen wird; Häufige Ursachen sind ein Kernel-Stack-Überlauf oder ein Hardwareproblem.

Andere Trap-Codes umfassen die folgenden:

  • 0x00000001 – Ein Aufruf an den Systemdebugger.

  • 0x00000003 – Debugger-Haltepunkt.

  • 0x00000007 – Hardware-Coprozessor-Anweisung ohne vorhandenen Coprozessor.

  • 0x0000000A – Beschädigtes Aufgabenstatussegment.

  • 0x0000000B – Zugriff auf ein Speichersegment, das ein Segment war.

  • 0x0000000C – Zugriff auf Speicher über die Grenzen eines Stapels hinaus.

  • 0x0000000D – Ausnahme nicht durch irgendeine Ausnahme abgedeckt; eine Schutzverletzung, die sich auf Zugriffsverletzungen für Softwareanwendungen bezieht.

Andere Trap-Codes sind vorhanden und können im Intel-Architekturhandbuch eingesehen werden.

Ursache des STOP-Fehlers

Der 0x7F-Fehler kann durch defekte oder falsch angepasste Hardware, insbesondere Systemspeicher, verursacht werden. Auch vorhandene Hardware, die ausfällt, kann diesen Fehler verursachen.

Ein Doppelfehlerfehler kann durch einen Kernel-Stack-Überlauf verursacht werden, der auftritt, wenn mehrere Treiber an denselben Stack angeschlossen sind.

Allgemeine Fehlerbehebung

Entfernen Sie alle neue Hardware

Das Hinzufügen neuer Hardware kann dazu führen, dass dieser Fehler auftritt, wenn die Hardware oder der Treiber defekt ist oder die Hardware nicht mit dem Computer kompatibel ist. Stellen Sie sicher, dass dies nicht der Fall ist, indem Sie den Computer ausschalten, die neue Hardware entfernen und den Computer neu starten. Wenn danach kein Fehler auftritt, müssen Sie sich möglicherweise eine neue Hardware besorgen. Sie können auch versuchen, die neueste Treibersoftware von der Herstellerwebsite herunterzuladen und diese Treibersoftware anstelle der mit der Hardware gelieferten Software zu installieren. Stellen Sie außerdem sicher, dass Ihr Computer die Mindestanforderungen erfüllt, die für die Verwendung der neuen Hardware erforderlich sind.

Test auf defekten Speicher

Suchen Sie nach defektem Systemspeicher, indem Sie ein Speicherdiagnosedienstprogramm ausführen. Wenn die Diagnose einen fehlerhaften Speicherchip zeigt, ersetzen Sie den Speicherchip.

Suchen Sie nach BIOS- und Treiberaktualisierungen

Überprüfen Sie die Website des Herstellers des Motherboards Ihres Computers. Wenn sie eine aktualisierte Version des BIOS zur Verfügung haben, empfehlen wir Ihnen, sie herunterzuladen und zu installieren.

Wir empfehlen, nach aktualisierten Treibern für die auf Ihrem Computer installierte Hardware zu suchen. Die Verwendung der aktuellsten Treiber kann verhindern, dass dieser Fehler auftritt.

Korrigieren Sie alle übertakteten Einstellungen

Wenn Ihr Computer einen übertakteten Prozessor verwendet, greifen Sie auf das BIOS des Motherboards zu und stellen Sie den Prozessor auf die Standardgeschwindigkeit ein. Starten Sie den Computer neu, um zu sehen, ob der Fehler dadurch behoben wird.

Aktualisieren Sie alte Software auf einem neuen Betriebssystem

Dieser Fehler kann manchmal nach dem Upgrade auf eine neuere Version eines Betriebssystems auftreten. Möglicherweise müssen Sie alle Hardwaretreiber von Drittanbietern entfernen und alle Antiviren- oder Anti-Spyware-Software deaktivieren und dann versuchen, auf das neuere Betriebssystem zu aktualisieren. Stellen Sie außerdem sicher, dass Sie die neuesten Updates oder Service Packs für das Betriebssystem installieren.

Überprüfen Sie die Ereignisanzeige

Wenn dieser Fehler immer noch auftritt, nachdem Sie alle diese Optionen ausprobiert haben, greifen Sie auf die Ereignisanzeige zu und überprüfen Sie das Systemprotokoll, um alle Fehlermeldungen anzuzeigen. Diese Fehlermeldungen können bei der Identifizierung der Fehlerursache hilfreich sein.

Versuchen Sie die letzte als funktionierend bekannte Konfiguration

Um den Computer wieder in einen betriebsbereiten Zustand zu versetzen, bevor der Fehler aufgetreten ist, können Sie den Computer auf die letzte gute Konfiguration zurücksetzen. Drücken Sie dazu beim Starten Ihres Computers die Taste F8 auf Ihrer Tastatur, bis das Menü Erweiterte Optionen angezeigt wird. Wählen Sie im Menü die letzte als funktionierend bekannte Konfigurationsoption aus.

Speicher-Caching deaktivieren

Wenn keine der oben genannten Optionen zur Lösung des Problems beiträgt, versuchen Sie schließlich, das „Speicher-Caching“ im CMOS-Setup zu deaktivieren, sofern auf Ihrem Computer verfügbar.

Debugging für Entwickler von Treibern

Beginnen Sie am besten mit dem Debuggen des Fehlers, indem Sie die Erweiterung !analyze verwenden.

Wenn dies nicht funktioniert, verwenden Sie den Debugger-Befehl kv (Display Stack Backtrace).

  • Wenn der kv-Befehl ein taskGate anzeigt, verwenden Sie den .tss-Befehl (Display Task State Segment) auf dem Teil des taskGate vor dem Doppelpunkt.
  • Wenn der Befehl kv einen Überfüllungsrahmen anzeigt, verwenden Sie den Befehl .trap (Überfüllungsrahmen anzeigen), um den Rahmen zu formatieren.

Verwenden Sie im Allgemeinen den Befehl .trap (Display Trap Frame) für den entsprechenden Frame, der auf einer x86-basierten Plattform mit der NT!KiTrap-Prozedur verknüpft ist.

Verwenden Sie den kv-Befehl erneut, um den neuen Stack anzuzeigen, nachdem Sie einen der obigen Befehle zum Debuggen des Stacks verwendet haben.

Neueste Artikel
Vielleicht möchten Sie lesen

LEAVE A REPLY

Please enter your comment!
Please enter your name here