51 votes

Quel est le meilleur détecteur de fuite de mémoire libre pour un programme C / C ++ et ses DLL de plug-in?

J'ai un .exe et de nombreux plug-in .dll modules que l' .exe charges. (J'ai de la source pour les deux.) Une croix-plate-forme (avec la source) solution serait l'idéal, mais la plate-forme peut être réduit à WinXP et Visual Studio (7.1/2003 dans mon cas).

Le haut-VS détecteur de fuite ne donne que de la ligne nouvelle/malloc a été appelé, mais j'ai un wrapper pour les allocations, donc symbolique de trace de pile serait le mieux.

Le détecteur serait également en mesure de détecter une fuite dans les deux .exe et son accompagnement plug-in .des modules dll.

37voto

Zooba Points 6440

J'utilise personnellement le détecteur de fuite visuel , bien que cela puisse causer des retards importants en cas de fuite de gros blocs (il affiche le contenu de tout le bloc qui a fui).

18voto

David A. Points 1332

Si vous ne voulez pas de recompiler (Visuels Détecteur de Fuite oblige) je recommande WinDbg, qui est à la fois puissant et rapide (même si c'est pas aussi simple qu'on pourrait le désir).

D'autre part, si vous ne voulez pas salir avec WinDbg, vous pouvez prendre un coup d'oeil à UMDH, qui est également développé par Microsoft et il est plus facile à apprendre.

Jetez un oeil à ces liens pour en savoir plus à propos de WinDbg, des fuites de mémoire et de gestion de la mémoire en général:

8voto

Anders Sandvig Points 7964

J'ai eu de bonnes expériences avec Rational Purify . J'ai aussi entendu de bonnes choses à propos de Valgrind <.

3voto

MastAvalons Points 793

Quant à moi, j'utilise deleaker pour localiser les fuites. Je suis satisfait.

2voto

Stewart Lynch Points 81

Mon profileur de mémoire disponible gratuitement MemPro vous permet de comparer 2 instantanés et donne des traces de pile pour toutes les allocations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X