Enregistrement d’un instantané de tas
L’enregistreur de performances Windows (WPR) permet d’instantané de tas pour des processus spécifiques sur le système.
Cette instantané de tas est différente de l’enregistrement d’analyse du tas, car il prend instantané vue du tas. Par exemple, un instantané de tas enregistre toutes les informations d’allocation de tas dans la base de données. Lorsque la commande SingleSnapshot est exécutée, elle exporte les informations d’allocation dans la mémoire tampon de trace. Le instantané contient des informations d’allocation, y compris toutes les piles créées après l’activation du instantané.
Pour capturer un tas instantané trace
- Activer le tas instantané trace Il existe deux façons d’activer un tas instantané trace, par nom de processus et par ID de processus.
L’exemple suivant utilise le nom du processus :
wpr -snapshotconfig heap -name heaptest.exe //query snapshot config
wpr -snapshotconfig heap -name heaptest.exe enable //enable snapshot config
L’exemple suivant utilise l’ID de processus ou le PID :
wpr -snapshotconfig heap -pid 8048 enable //enable snapshot config
- Démarrer le suivi à l’aide de wpr ou wprui
à l’aide de wpr :
wpr -start heapsnapshot -filemode
Si l’option -name a été utilisée pour activer le tas instantané, vous devez lancer le processus une fois la configuration activée.
- Prenez le tas instantané
Chaque fois qu’une instantané est déclenchée, la base de données de pile d’allocation est exportée vers les mémoires tampons de trace. Un seul instantané (peut être utilisé plusieurs fois), par exemple :
wpr -singlesnapshot heap <pid for foo.exe>
Instantané périodiques :
wpr -enableperiodicsnapshot heap <frequency in seconds> <pid for foo.exe>
- Enregistrez la trace à l’aide de wprui ou wpr.
wpr -stop heapsnapshot.etl
- Désactiver le tas instantané
Vous pouvez désactiver le tas à l’aide du PID ou du Nom. Voici des exemples des deux.
Nom de l’utilisation :
wpr -snapshotconfig heap -name Win32Project1.exe disable
Utilisation du PID :
wpr -snapshotconfig heap -pid %_PID% disable
Note: Si l’option -name est utilisée pour activer le tas instantané, elle définit le registre IFEO en interne et s’applique à toutes les nouvelles instances du processus. Désactivez-la à l’aide de l’option SnapshotConfig lorsque le test est terminé pour éviter la collecte inutile de tas. En outre, si l’architecture du processeur du processus et du système d’exploitation ne correspond pas (par exemple, en exécutant l’application win32 sur un système d’exploitation 64 bits), utilisez l’option de nom (IFEO).