Partager via


Analysez le chemin chaud vers la racine dans l’outil Utilisation de la mémoire

Lors du profilage du code .NET dans l’outil de profilage Utilisation de la mémoire de Visual Studio, le chemin chaud vers la racine peut vous aider à identifier les objets conservés sur le tas qui provoquent des problèmes d’utilisation de la mémoire. Dans le contexte de l’utilisation de la mémoire, le chemin critique est une chaîne de référence identifiée par le profileur qui pointe vers un objet racine potentiellement problématique pour la mémoire.

Lors du calcul de la taille inclusive d’un objet (quantité totale de mémoire conservée sur le tas en maintenant l’objet actif), il est souvent utile de réduire le graphique du tas fortement connecté en une arborescence. Contrairement à un graphique, un nœud dans une arborescence a arbitrairement de nombreux enfants, mais seulement un seul parent. Plutôt que de considérer tous les chemins possibles menant à la racine d’un objet, choisir le chemin le plus probable à l’aide de diverses heuristiques est généralement suffisant pour identifier la chaîne de référence qui, une fois retirée, rend l’objet éligible à la collecte des ordures. Certaines de ces heuristiques incluent la hiérarchisation du chemin le plus court vers la racine, certains types racine et certains chemins de code utilisateur. Pour diverses raisons, cette stratégie ne trouve pas toujours la chaîne de rétention la plus intéressante ou la plus longue, mais elle fournit souvent un point de départ utile dans une enquête sur l’utilisation de la mémoire.

Dans l’arborescence Chemins vers la racine de l’outil Utilisation de la mémoire, on appelle chemin chaud vers la racine le chemin d’accès ayant l’icône de flamme (Capture d’écran montrant l’icône Chemin chaud.).

Exemple

Utilisez l’option Afficher uniquement les parcours prioritaires pour filtrer l’affichage dans le volet Chemins vers la racine.

Dans cet exemple, un contrôle WPF (AttachToProcess.Dialog) fuit par le biais d’une liaison qui trouve son origine dans un AutomationPeer. Dans l’affichage filtré, le chemin de rétention est évident ; seul le chemin d’accès direct à la racine est visible.

Capture d’écran du graphique de référence Chemins d’accès à la racine. Afficher les chemins chauds uniquement est activé, mettant en évidence une chaîne linéaire de références.

Lorsque l’option est désactivée, il devient évident qu’il existe des centaines de liaisons et que la plupart des chemins d’extension aboutissent à des impasses formant un cycle. Sans l’indicateur visuel, il est fastidieux de trier des milliers de chemins de rétention potentiels pour trouver la raison admise de la fuite. Capture d’écran du même graphe de référence des Chemins vers la racine, mais l'affichage des chemins chauds est désactivé et de nombreuses impasses éventuelles sont visibles.

Voir aussi

Pour plus d’informations sur l’outil Utilisation de la mémoire de Visual Studio, consultez