Freigeben über


!poolfind

Die Erweiterung !poolfind findet alle Instanzen eines bestimmten Pool-Tags entweder in nicht ausgelagerten oder in ausgelagerten Speicherpools.

!poolfind TagString [PoolType] 
!poolfind TagValue [PoolType] 

Parameter

TagString
Gibt das Pool-Tag an. TagString ist eine zwischen Groß- und Kleinschreibung unterscheidende ASCII-Zeichenfolge. Das Sternchen (*) kann für eine beliebige Anzahl von Zeichen verwendet werden; das Fragezeichen (?) kann für genau ein Zeichen verwendet werden. Sofern kein Sternchen verwendet wird, muss TagString genau vier Zeichen lang sein.

TagValue
Gibt das Pool-Tag an. TagValue muss mit „0x“ beginnen, auch wenn der Standard-Radix 16 ist. Wenn dieser Parameter mit einem anderen Wert (einschließlich „0X“) beginnt, wird er als ASCII-Tag-String interpretiert.

PoolType
Gibt den Typ des zu durchsuchenden Pools an. Die folgenden Werte sind zulässig:

0
Gibt den nicht ausgelagerten Speicherpool an. Dies ist die Standardeinstellung.

1
Gibt den ausgelagerten Speicherpool an.

2
Gibt den speziellen Pool an.

4
Gibt den Sitzungspool an.

DLL

Kdexts.dll

Zusätzliche Informationen

Informationen zu Speicherpools und Pool-Tags finden Sie in der Dokumentation zum Windows Driver Kit (WDK) und in Microsoft Windows Internals von Mark Russinovich und David Solomon.

Hinweise

Die Ausführung dieses Befehls kann je nach der Größe des zu durchsuchenden Poolspeichers eine beträchtliche Zeit in Anspruch nehmen. Um die Ausführung zu beschleunigen, erhöhen Sie die Geschwindigkeit des COM-Ports mit der Taste STRG+A (Toggle Baud Rate) oder verwenden Sie den Befehl .cache (Set Cache Size), um die Cache-Größe zu erhöhen (auf etwa 10 MB).

Der Pool-Tag ist derselbe Tag, der an die Routinenfamilie ExAllocateXxx übergeben wird.

Beispiel: Der gesamte nicht ausgelagerte Pool wird durchsucht. Anschließend wird der ausgelagerte Pool durchsucht, der Befehl wird jedoch vor der Fertigstellung beendet (nach einer Stunde Laufzeit):

kd> !poolfind SeSd 0

Scanning large pool allocation table for Tag: SeSd (827d1000 : 827e9000)

Searching NonPaged pool (823b1000 : 82800000) for Tag: SeSd

826fa130 size:   c0 previous size:   40  (Allocated) SeSd
82712000 size:   c0 previous size:    0  (Allocated) SeSd
82715940 size:   a0 previous size:   60  (Allocated) SeSd
8271da30 size:   c0 previous size:   10  (Allocated) SeSd
82721c00 size:   10 previous size:   30  (Free)      SeSd
8272b3f0 size:   60 previous size:   30  (Allocated) SeSd
8272d770 size:   60 previous size:   40  (Allocated) SeSd
8272d7d0 size:   a0 previous size:   60  (Allocated) SeSd
8272d960 size:   a0 previous size:   70  (Allocated) SeSd
82736f30 size:   a0 previous size:   10  (Allocated) SeSd
82763840 size:   a0 previous size:   10  (Allocated) SeSd
8278b730 size:  100 previous size:  290  (Allocated) SeSd
8278b830 size:   10 previous size:  100  (Free)      SeSd
82790130 size:   a0 previous size:   20  (Allocated) SeSd
82799180 size:   a0 previous size:   10  (Allocated) SeSd
827c00e0 size:   a0 previous size:   30  (Allocated) SeSd
827c8320 size:   a0 previous size:   60  (Allocated) SeSd
827ca180 size:   a0 previous size:   50  (Allocated) SeSd
827ec140 size:   a0 previous size:   10  (Allocated) SeSd

Searching NonPaged pool (fe7c3000 : ffbe0000) for Tag: SeSd

kd> !poolfind SeSd 1

Scanning large pool allocation table for Tag: SeSd (827d1000 : 827e9000)

Searching Paged pool (e1000000 : e4400000) for Tag: SeSd

e10000b0 size:   d0 previous size:   20  (Allocated) SeSd
e1000260 size:   d0 previous size:   60  (Allocated) SeSd
......
e1221dc0 size:   a0 previous size:   60  (Allocated) SeSd
e1224250 size:   a0 previous size:   30  (Allocated) SeSd

...terminating - searched pool to e1224000
kd>