!pool

La extensión !pool muestra información sobre una asignación de grupo específica o sobre todo el grupo de la totalidad del sistema.

!pool [Address [Flags]]

Parámetros

Dirección
Especifica la entrada del grupo que se va a mostrar. Si Dirección es -1, este comando muestra información sobre todos los montones de proceso.

Si Dirección es 0 o se omite, este comando muestra información sobre el montón de proceso.

Marcas
Especifica el nivel de detalle que se va a utilizar. Puede ser cualquier combinación de los siguientes valores de bits; el valor predeterminado es cero:

Bit 0 (0x1)
Hace que la visualización incluya el contenido del grupo, no solo los encabezados del grupo.

Bit 1 (0x2)
Hace que la visualización suprima la información de encabezado de todos los grupos, excepto el que realmente contiene la Dirección especificada.

Bit 31 (0x80000000)
Suprime la descripción del tipo de grupo y la etiqueta de grupo en la visualización.

Archivo DLL

Kdexts.dll

Información adicional

Para obtener información sobre los grupos de memoria, consulte la documentación del Kit de controladores de Windows (WDK) y Microsoft Windows Internals de Mark Russinovich y David Solomon.

Comentarios

En Windows XP y versiones posteriores de Windows, la extensión !pool muestra la etiqueta de grupo asociada a cada asignación. También se muestra el propietario de esa etiqueta de grupo. Esta visualización se basa en el contenido del archivo pooltag.txt. Este archivo se encuentra en el subdirectorio de evaluación de su instalación de herramientas de depuración para Windows. Si lo desea, puede editar este archivo para añadir etiquetas de grupo adicionales relevantes para su proyecto.

Advertencia Si instala una versión actualizada de las herramientas de depuración para Windows en el mismo directorio que la versión actual, esta sobrescribirá todos los archivos de ese directorio, incluido pooltag.txt. Si modifica o sustituye el archivo pooltag.txt de muestra, asegúrese de guardar una copia del mismo en un directorio diferente. Después de reinstalar los depuradores, puede copiar el pooltag.txt guardado sobre la versión predeterminada.

Si la extensión !pool informa de corrupción del grupo, debe utilizar !poolval para investigar.

A continuación se muestra un ejemplo: Si Dirección especifica 0xE1001050, se mostrarán las encabezados de todos los grupos de este bloque y el propio 0xE1001050 se marcará con un asterisco (*).

kd> !pool e1001050 
 e1001000 size:   40 previous size:    0  (Allocated)  MmDT
 e1001040 size:   10 previous size:   40  (Free)       Mm  
*e1001050 size:   10 previous size:   10  (Allocated) *ObDi
 e1001060 size:   10 previous size:   10  (Allocated)  ObDi
 e1001070 size:   10 previous size:   10  (Allocated)  Symt
 e1001080 size:   40 previous size:   10  (Allocated)  ObDm
 e10010c0 size:   10 previous size:   40  (Allocated)  ObDi
.....

En este ejemplo, la columna de la derecha muestra la etiqueta de grupo. La columna de la izquierda muestra si el grupo está libre o asignado.

El siguiente comando muestra los encabezados y el contenido del grupo:

kd> !pool e1001050 1
 e1001000 size:   40 previous size:    0  (Allocated)  MmDT
 e1001008  ffffffff 0057005c 004e0049 004f0044
    e1001018  ffffffff 0053005c 00730079 00650074

 e1001040 size:   10 previous size:   40  (Free)       Mm  
 e1001048  ffffffff e1007ba8 e1501a58 01028101
    e1001058  ffffffff 00000000 e1000240 01028101

*e1001050 size:   10 previous size:   10  (Allocated) *ObDi
 e1001058  ffffffff 00000000 e1000240 01028101
    e1001068  ffffffff 00000000 e10009c0 01028101

 e1001060 size:   10 previous size:   10  (Allocated)  ObDi
 e1001068  ffffffff 00000000 e10009c0 01028101
    e1001078  ffffffff 00000000 00000000 04028101

......