On Tue, 2008-02-26 at 09:40 +0100, Frédéric BOITEUX wrote:
> Bonjour,
>
> Je cherche à vérifier la gestion de la mémoire dynamique d'un
> programme C (les fuites surtout) lié à plusieurs librairies dynamiques.
>
> Jusqu'à présent, j'utilisais ccmalloc qui génère un rapport clair sur
> le sujet. Le hic, c'est qu'il ne fonctionne pas pour les programmes
> multi-threads, ce qui est le cas du programme qui m'intéresse
> actuellement.
>
> J'ai testé un peu dmalloc, mais c'est une usine à gaz à mettre en
> place, pour un résultat assez piteux... pas vraiment d'infos
> exploitables : la plupart du temps, il indique juste une adresse hexa
> pour signaler l'endroit des fuites, et quand il trouve le source
> incriminé, il donne juste le nom / n° de ligne en question, sans
> savoir d'où on l'a appelé, ce qui est sans intérêt dans mon cas où les
> allocations mémoire se font toutes par l'intermédiaire de fonctions
> génériques (en gros, il me dit que les fuites viennent de la fonction
> mon_malloc() ...)
>
> J'ai un peu cherché sur la toile, mais je ne trouve que
> des vieux articles parlant d'outils qui n'existent plus ou
> ne sont plus maintenus... Et vous, qu'utilisez-vous comme outils pour
> ce genre de tâche ?
Valgrind, évidemment. C'est le top du top.
Xav