Condividi tramite


Registrazione di uno snapshot heap

Windows Performance Recorder (WPR) abilita lo snapshot dell'heap per processi specifici nel sistema.

Questo snapshot dell'heap è diverso dalla registrazione dell'analisi dell'heap, perché acquisisce la visualizzazione snapshot dell'heap. Ad esempio, uno snapshot heap salva tutte le informazioni di allocazione dell'heap nel database. Quando viene eseguito il comando SingleSnapshot , esporta le informazioni di allocazione nel buffer di traccia. Lo snapshot contiene informazioni sull'allocazione, inclusi tutti gli stack creati dopo l'abilitazione dello snapshot.

Per acquisire una traccia snapshot dell'heap

  1. Abilitare la traccia dello snapshot dell'heap Esistono due modi per abilitare una traccia snapshot dell'heap, in base al nome del processo e all'ID processo.

Nell'esempio seguente viene usato il nome del processo:

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

Nell'esempio seguente viene usato l'ID processo o IL PID:

wpr -snapshotconfig heap -pid 8048 enable                //enable snapshot config
  1. Iniziare a tracciare usando wpr o wprui

using wpr :

wpr -start heapsnapshot -filemode                          

Se è stata usata l'opzione -name per abilitare lo snapshot dell'heap, è necessario avviare il processo dopo l'abilitazione della configurazione.

  1. Acquisire lo snapshot dell'heap

Ogni volta che viene attivato uno snapshot, il database dello stack di allocazione viene esportato nei buffer di traccia. Un singolo snapshot (può essere usato più volte), ad esempio:

 wpr -singlesnapshot heap <pid for foo.exe>

Snapshot periodico:

 wpr -enableperiodicsnapshot heap <frequency in seconds> <pid for foo.exe>
  1. Salvare la traccia usando wprui o wpr.
wpr -stop heapsnapshot.etl
  1. Disabilitare lo snapshot dell'heap
    È possibile disabilitare l'heap usando il PID o il nome. Ecco alcuni esempi di entrambi.

Uso del nome:

wpr -snapshotconfig heap -name Win32Project1.exe disable

Uso di PID:

 wpr -snapshotconfig heap -pid %_PID% disable

Nota: Se l'opzione -name viene usata per abilitare lo snapshot dell'heap, imposta internamente il Registro di sistema IFEO e verrà applicato a tutte le nuove istanze del processo. Disabilitarla usando l'opzione SnapshotConfig al termine del test per evitare la raccolta heap non necessaria. Inoltre, se l'architettura della CPU del processo e del sistema operativo non corrisponde ( ad esempio, l'esecuzione di app win32 nel sistema operativo a 64 bit), usare l'opzione name (IFEO).