Share via


Fehlerprüfung 0x19: BAD_POOL_HEADER

Die BAD_POOL_HEADER-Fehlerprüfung weist den Wert 0x00000019 auf. Dies weist darauf hin, dass ein Poolheader beschädigt ist.

Wichtig

Dieser Artikel richtet sich an Programmierer. Wenn Sie ein Kunde sind, der während der Verwendung Ihres Computers einen Bluescreen-Fehlercode erhalten hat, finden Sie weitere Informationen unter Behandeln von Bluescreenfehlern.

BAD_POOL_HEADER-Parameter

Parameter 1 gibt den Typ des Verstoßes an. Die Bedeutung der anderen Parameter hängt vom Wert von Parameter 1 ab.

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Fehlerursache

0x2

Der zu überprüfende Pooleintrag

Die Größe des Poolblocks

0

Fehler bei der Überprüfung des speziellen Poolmusters.

(Der Besitzer hat wahrscheinlich den Poolblock beschädigt.)

0x3

Der zu überprüfende Pooleintrag

Der Wert für die Readback-Flink-Freelist

Der Wert für die Freiliste für lesegeschütztes Blinken

Die Pool-Freelist ist beschädigt.

(In einer fehlerfreien Liste sollten die Werte der Parameter 2, 3 und 4 identisch sein.)

0x5

Einer der Pooleinträge

Reserviert

Der andere Pooleintrag

Ein Paar von benachbarten Pooleinträgen verfügt über Header, die einander widersprechen. Mindestens einer von ihnen ist beschädigt.

0x6

Ein falsch berechneter Eintrag

Reserviert

Der ungültige Eintrag, der die Fehlberechnung verursacht hat

Die vorherige Größe des Poolblockheaders ist zu groß.

0x7

0

Reserviert

Der ungültige Pooleintrag

Die Größe des Poolblockheaders ist beschädigt.

0x8

0

Reserviert

Der ungültige Pooleintrag

Die Größe des Poolblockheaders ist 0 (null).

0x9

Ein falsch berechneter Eintrag

Reserviert

Der ungültige Eintrag, der die Fehlberechnung verursacht hat

Die Größe des Poolblockheaders ist beschädigt (sie ist zu groß).

0xA

Der Pooleintrag, der gefunden werden sollte

Reserviert

Die virtuelle Adresse der Seite, die den Pooleintrag enthalten sollte

Die Größe des Poolblockheaders ist beschädigt.

0xD, 0xE, 0xF, 0x23, 0x24, 0x25

Reserviert

Reserviert

Reserviert

Der Poolheader eines freigegebenen Blocks wurde geändert, nachdem er freigegeben wurde. Dies ist in der Regel nicht der Fehler des vorherigen Besitzers des freigegebenen Blocks. Stattdessen liegt dies in der Regel (aber nicht immer) daran, dass der Block vor dem freigegebenen Block überlaufen wird.

0x20

Der Pooleintrag, der gefunden werden sollte

Der nächste Pooleintrag

Reserviert

Die Größe des Poolblockheaders ist beschädigt.

0X21

Der freigegebene Poolzeiger

Die Anzahl der Bytes, die dem Poolblock zugeordnet sind.

Der beschädigte Wert, der nach dem Poolblock gefunden wurde

Die Daten, die dem freigegebenen Poolblock folgen, sind beschädigt. In der Regel bedeutet dies, dass der Consumer (Aufrufliste) den Block überlaufen hat.

0X22

Die adresse, die freigegeben wird

Reserviert

Reserviert

Eine freigegebene Adresse verfügt nicht über einen Nachverfolgungseintrag. Dies liegt in der Regel daran, dass die Aufrufliste versucht, einen Zeiger frei zu geben, der entweder bereits freigegeben wurde oder nie zugeordnet wurde.

Ursache

Der Pool ist zum Zeitpunkt der aktuellen Anforderung bereits beschädigt.

Dies kann auf den Aufrufer zurückzuführen sein.

Lösung

Die internen Poollinks müssen mithilfe des Kerneldebuggers durchlaufen werden, um eine mögliche Ursache für das Problem zu ermitteln.

Anschließend können Sie einen speziellen Pool für die verdächtigen Pooltags oder die Option "Spezieller Pool" für den verdächtigen Treiber verwenden. Die !analyze-Erweiterung kann beim Ermitteln des verdächtigen Treibers hilfreich sein, aber dies ist bei Pool-Beschädigungen häufig nicht der Fall.

Führen Sie die unter Blue screen Data beschriebenen Schritte aus, um die Stoppcodeparameter zu erfassen. Verwenden Sie die Stoppcodeparameter, um den spezifischen Typ des Codeverhaltens zu ermitteln, an dem Sie arbeiten.

Treiberüberprüfung

Driver Verifier ist ein Tool, das in Echtzeit ausgeführt wird, um das Verhalten von Treibern zu untersuchen. Wenn Fehler bei der Ausführung von Treibercode angezeigt werden, wird proaktiv eine Ausnahme erstellt, damit dieser Teil des Treibercodes genauer überprüft werden kann. Der Treiberüberprüfungs-Manager ist in Windows integriert und auf allen Windows-PCs verfügbar. Um den Treiberüberprüfungs-Manager zu starten, geben Sie Verifier an einer Eingabeaufforderung ein. Sie können konfigurieren, welche Treiber Sie überprüfen möchten. Der Code, der überprüft, dass Treiber während der Ausführung mehr Aufwand verursachen. Versuchen Sie daher, die kleinste Anzahl von Treibern so wie möglich zu überprüfen. Weitere Informationen finden Sie unter Treiberüberprüfung.

Windows-Speicherdiagnose

Wenn diese Fehlerprüfung inkonsistent angezeigt wird, kann sie sich auf einen fehlerhaften physischen Speicher beziehen.

Führen Sie das Windows-Speicherdiagnosetool aus, um den Arbeitsspeicher zu testen. Geben Sie im Suchfeld der Systemsteuerung Arbeitsspeicher ein, und wählen Sie dann Speicherprobleme Ihres Computers diagnostizieren aus. Nachdem der Test ausgeführt wurde, verwenden Sie die Ereignisanzeige, um die Ergebnisse im Systemprotokoll anzuzeigen. Suchen Sie nach dem Eintrag MemoryDiagnostics-Results , um die Ergebnisse anzuzeigen.