!poolfind
L'estensione !poolfind trova tutte le istanze di un tag del pool specifico in pool di memoria non di pagina o di paging.
!poolfind TagString [PoolType]
!poolfind TagValue [PoolType]
Parametri
TagString
Specifica il tag del pool. TagString è una stringa ASCII con distinzione tra maiuscole e minuscole. L'asterisco (*) può essere utilizzato per rappresentare un numero qualsiasi di caratteri; il punto interrogativo (?) può essere usato per rappresentare esattamente un carattere. A meno che non venga usato un asterisco, TagString deve avere una lunghezza esatta di quattro caratteri.
TagValue
Specifica il tag del pool. TagValue deve iniziare con "0x", anche se il valore predefinito è 16. Se questo parametro inizia con qualsiasi altro valore (incluso "0X") verrà interpretato come stringa di tag ASCII.
PoolType
Specifica il tipo di pool da cercare. Sono consentiti i valori seguenti:
0
Specifica un pool di memoria non di paging. Si tratta dell'impostazione predefinita.
1
Specifica il pool di memoria di paging.
2
Specifica il pool speciale.
4
Specifica il pool di sessioni.
DLL
Kdexts.dll
Informazioni aggiuntive
Per informazioni sui pool di memoria e sui tag del pool, vedere la documentazione di Windows Driver Kit (WDK) e microsoft Windows Internals, di Mark Russinovich e David Solomon.
Osservazioni:
Questo comando può richiedere una quantità significativa di tempo per l'esecuzione, a seconda delle dimensioni della memoria del pool di cui è necessario eseguire la ricerca. Per velocizzare questa esecuzione, aumentare la velocità della porta COM con il tasto CTRL+A (Toggle Baud Rate) oppure usare il comando .cache (Imposta dimensioni cache) per aumentare le dimensioni della cache (a circa 10 MB).
Il tag del pool è lo stesso tag passato alla famiglia di routine ExAllocateXxx .
Ecco un esempio. Viene eseguita la ricerca nell'intero pool non di paging e quindi viene eseguita la ricerca nel pool di paging, ma il comando viene terminato prima del completamento (dopo un'ora di operazione):
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>