2011-03-03 1 views
1

Mon application .NET présente une fuite de mémoire. Peu de gens semblent recommander d'utiliser CLR Profiler pour ce but, je suis un peu perdu sur l'idée. Pour moi, afin de trouver une fuite de mémoire, l'outil devrait comparer deux états de la mémoire qui peuvent vous donner des statistiques comme la croissance des objets entre deux états. Donc, dans mon esprit, si un outil ne peut pas comparer deux (ou plusieurs) états de mémoire, il ne peut pas être utilisé pour détecter une fuite de memroy. Évidemment, des choses comme les compteurs de performance est un concept un peu différent où vous pouvez utiliser l'utilisation de la mémoire.Le profileur CLR peut-il être utilisé pour détecter des fuites de mémoire?

Donc, ma question est vraiment si quelqu'un peut expliquer comment exactement CLR Profiler peut être utilisé pour détecter les fuites de mémoire?

+0

Il ne peut pas, son interface utilisateur est inscrutable. Ça vaut le prix que vous avez payé pour cela. Un bon profileur de mémoire coûte plusieurs centaines de dollars de plus. –

Répondre

0

Eh bien cela dépend du type de fuite de mémoire que vous avez.

Nous avions un modèle reproductible, dans lequel nous avons appris qu'une certaine chaîne d'événements devrait toujours laisser une table propre après le travail, mais ce n'était pas le cas.

Donc, nous avons simplement mis en place un test où nous l'avons fait quelques milliers de fois - puis nous avons regardé ces objets (plus gros) dans le graphe de tas et à la racine. toujours en vie. Il a aidé à résoudre notre problème ...

Questions connexes