Compartir a través de


!poolfind

La extensión !poolfind encuentra todas las instancias de una etiqueta de grupo específica en grupos de memoria paginados o no paginados.

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

Parámetros

TagString
Especifica la etiqueta de grupo. TagString es una cadena ASCII que distingue mayúsculas de minúsculas. El asterisco (*) puede utilizarse para representar cualquier número de caracteres; el signo de interrogación (?) puede utilizarse para representar exactamente un carácter. A menos que se utilice un asterisco, TagString debe tener exactamente cuatro caracteres de longitud.

TagValue
Especifica la etiqueta de grupo. TagValue debe comenzar por "0x", aunque el radix por defecto sea 16. Si este parámetro comienza con cualquier otro valor (incluido "0X") se interpretará como una cadena de etiquetas ASCII.

PoolType
Especifica el tipo de grupo que se va a buscar. Se permiten los siguientes valores:

0
Especifica el grupo de memoria no paginada. Este es el valor predeterminado.

1
Especifica el grupo de memoria paginada.

2
Especifica el grupo especial.

4
Especifica el grupo de sesión.

Archivo DLL

Kdexts.dll

Información adicional

Para obtener información sobre las memorias de grupo y las etiquetas de grupo, consulte la documentación del Kit de controladores de Windows (WDK) y Microsoft Windows Internals por Mark Russinovich y David Solomon.

Comentarios

Este comando puede tardar bastante tiempo en ejecutarse, en función del tamaño de la memoria del grupo en la que haya que buscar. Para acelerar esta ejecución, aumente la velocidad del puerto COM con la tecla CTRL+A (cambiar velocidad de baudios) o use el comando .cache (Establecer tamaño de caché) para aumentar el tamaño de caché (a aproximadamente 10 MB).

La etiqueta de grupo es la misma que se pasa a la familia de rutinas ExAllocateXxx.

A continuación se muestra un ejemplo: Se busca en todo el grupo no paginado y después en el paginado, pero el comando finaliza antes de completarse (tras una hora de funcionamiento):

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>