Utiliser l'outil de chronologie des allocations

Meggin Kearney
Meggin Kearney

Utilisez l'outil Chronologie d'allocation pour trouver les objets qui ne sont pas correctement collectés et qui continuent de conserver de la mémoire.

Fonctionnement de l'outil

Un rapport Chronologie d'allocation combine les informations détaillées de l'instantané du profileur de tas avec la mise à jour et le suivi incrémentiels du panneau "Chronologie". Comme ces outils, le suivi de l'allocation de tas implique de démarrer un enregistrement, d'effectuer une séquence d'actions, puis d'arrêter l'enregistrement pour l'analyser.

L'outil prend des instantanés de tas de mémoire de manière périodique tout au long de l'enregistrement (aussi souvent que toutes les 50 ms) et un dernier instantané à la fin de l'enregistrement.

Exemple d'enregistrement de la chronologie d'allocation.

Enregistrer un rapport sur la chronologie d'allocation

Pour commencer à utiliser l'outil Chronologie des allocations, procédez comme suit:

  1. Ouvrez le panneau Mémoire dans les outils pour les développeurs.
  2. Activez le profil Allocations dans la chronologie.
  3. Appuyez sur le bouton Start (Démarrer) pour commencer l'enregistrement.

Option "Enregistrer les allocations sur une chronologie" mise en surbrillance

Lire un profil d'allocation de segments de mémoire

Le profil d'allocation de tas indique où les objets sont créés et identifie le chemin de conservation. Dans l'instantané suivant, les barres en haut indiquent quand de nouveaux objets sont détectés dans la pile.

La hauteur de chaque barre correspond à la taille des objets récemment alloués, et la couleur des barres indique si ces objets sont toujours actifs dans l'instantané final de la pile. Les barres bleues indiquent les objets qui sont toujours actifs à la fin de la chronologie. Les barres grises indiquent les objets qui ont été alloués au cours de la chronologie, mais qui ont depuis été collectés:

Exemple d'enregistrement de la chronologie de l'allocation.

Vous pouvez faire un zoom avant pour filtrer le volet Constructeur afin d'afficher uniquement les objets qui ont été alloués au cours de la période spécifiée. Pour faire un zoom avant, faites glisser votre souris sur la période sur laquelle vous souhaitez vous concentrer dans la timeline.

Vue agrandie de la chronologie sur une seule barre.

Cliquez sur un constructeur spécifique dans le volet Constructeur pour afficher son arbre de rétention dans le volet Retenues. L'examen du chemin de rétention vers l'objet devrait vous fournir suffisamment d'informations pour comprendre pourquoi l'objet n'a pas été collecté. Vous pouvez ensuite apporter les modifications de code nécessaires pour supprimer la référence inutile.

Afficher l'allocation de mémoire par fonction

Vous pouvez également afficher l'allocation de mémoire par fonction JavaScript. Pour en savoir plus, consultez la section Examiner l'allocation de mémoire par fonction.