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

StackOverflow https://stackoverflow.com/questions/25730

Question

J'ai un .exe et de nombreux modules plug-in .dll que le .exe charge.(J'ai des sources pour les deux.) Une solution multiplateforme (avec source) serait idéale, mais la plate-forme peut être limitée à WinXP et Visual Studio (7.1/2003 dans mon cas).

Le détecteur de fuite VS intégré ne donne que la ligne à partir de laquelle new/malloc a été appelé, mais j'ai un wrapper pour les allocations, donc une trace de pile symbolique complète serait préférable.

Le détecteur serait également capable de détecter une fuite dans le fichier .exe et les modules plug-in .dll qui l'accompagnent.

Était-ce utile?

La solution

perso j'utilise Détecteur de fuite visuel, bien que cela puisse entraîner des retards importants en cas de fuite de gros blocs (il affiche le contenu de l'intégralité du bloc divulgué).

Autres conseils

Si vous ne souhaitez pas recompiler (comme l'exige Visual Leak Detector), je vous recommande WinDbg, qui est à la fois puissant et rapide (même s'il n'est pas aussi simple à utiliser qu'on pourrait le souhaiter).

D'un autre côté, si vous ne voulez pas jouer avec WinDbg, vous pouvez jeter un œil à UMDH, qui est également développé par Microsoft et est plus facile à apprendre.

Jetez un œil à ces liens afin d'en savoir plus sur WinDbg, les fuites de mémoire et la gestion de la mémoire en général :

J'ai eu de bonnes expériences avec Purification rationnelle.J'ai aussi entendu de belles choses sur Valgrind

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

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.

Essayer Le détecteur de fuite de mémoire de Jochen Kalmbach sur le projet de code.L'URL de la dernière version se trouvait quelque part dans les commentaires lors de ma dernière vérification.

Comme plusieurs de mes amis l'ont posté, il existe de nombreux détecteurs de fuites gratuits pour C++.Tout cela entraînera une surcharge lors de l'exécution de votre code, environ 20 % plus lente.je préfère Détecteur de fuite visuel pour Visual C++ 2008/2010/2012 , vous pouvez télécharger le code source depuis - entrez la description du lien ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top