Compartir a través de


Grabación de una instantánea de montón

Windows Performance Recorder (WPR) permite la instantánea del montón para procesos específicos en el sistema.

Esta instantánea del montón es diferente de la grabación de análisis del montón, ya que toma la vista de instantáneas del montón. Por ejemplo, una instantánea del montón guarda toda la información de asignación del montón en la base de datos. Cuando se ejecuta el comando SingleSnapshot , exporta la información de asignación al búfer de seguimiento. La instantánea contiene información de asignación, incluidas todas las pilas que se crean después de habilitar la instantánea.

Para capturar un seguimiento de instantáneas del montón

  1. Habilite el seguimiento de instantáneas del montón Hay dos maneras de habilitar un seguimiento de instantáneas del montón, por nombre de proceso y por identificador de proceso.

En el ejemplo siguiente se usa el nombre del proceso:

 wpr -snapshotconfig heap -name heaptest.exe           //query snapshot config
 wpr -snapshotconfig heap -name heaptest.exe enable    //enable snapshot config

En el ejemplo siguiente se usa el identificador de proceso o PID:

wpr -snapshotconfig heap -pid 8048 enable                //enable snapshot config
  1. Inicio del seguimiento mediante wpr o wprui

mediante wpr :

wpr -start heapsnapshot -filemode                          

Si se usó la opción -name para habilitar la instantánea del montón, debe iniciar el proceso una vez habilitada la configuración.

  1. Tomar la instantánea del montón

Cada vez que se desencadena una instantánea, la base de datos de pila de asignación se exporta a los búferes de seguimiento. Una sola instantánea (se puede usar varias veces), por ejemplo:

 wpr -singlesnapshot heap <pid for foo.exe>

Instantánea periódica:

 wpr -enableperiodicsnapshot heap <frequency in seconds> <pid for foo.exe>
  1. Guarde el seguimiento mediante wprui o wpr.
wpr -stop heapsnapshot.etl
  1. Deshabilitación de la instantánea del montón
    Puede deshabilitar el montón mediante el PID o el nombre. Estos son ejemplos de ambos.

Uso del nombre:

wpr -snapshotconfig heap -name Win32Project1.exe disable

Uso de PID:

 wpr -snapshotconfig heap -pid %_PID% disable

Nota: Si la opción -name se usa para habilitar la instantánea del montón, establece el registro IFEO internamente y se aplicará a todas las nuevas instancias del proceso. Deshabilite mediante la opción SnapshotConfig cuando finalice la prueba para evitar la recopilación innecesaria del montón. Además, si la arquitectura de cpu del proceso y el sistema operativo no coinciden ( por ejemplo, la ejecución de la aplicación win32 en el sistema operativo de 64 bits), use la opción de nombre (IFEO).