(Courriels de diversion: <preferentielle@affaissons-civiliser.com> <petroliers@analphabete-cicatrises.com> <renaissions@maigriront-archetypes.com> <rengorges@poinconnes-frequentent.com> <bibliophiles@perone-caries.com> <miel@insonoriserent-devoraient.com> <mollissent@tranchiez-ligatureriez.com> <parlements@ereintant-affilia.com> <fauvette@terrain-enquêtais.com> <stenographier@parcourent-savouriez.com> )
Salut, Pour résoudre de méchants problèmes de gestion dynamique de mémoire dans un programme que je maintiens, je cherchais un programme libre de suivi des allocations et libérations (malloc/free) pour le langage C. Les candidats étaient : - ccmalloc - dmalloc - electric-fence - gccchecker Je n'ai testé aujourd'hui que le dernier : gccchecker. Il me trouve des choses très intéressantes dans le genre dépassement en lecture ou écriture de l'espace précédemment alloué ... Anecdote : gccchecker crie aussi sur isupper("é"); là il en fait un peu trop ... car il ne connait pas la localisation. Ma première impression sur cet outil est donc très bonne d'autant que sa mise en oeuvre est assez simple : - compilation : checker gcc monprog.c -o monprog - environnement : export CHECKEROPTS="--output=checker.trc" - execution : ./monprog Le seul inconvénient annoncé par la doc et vérifié, c'est que le programme instrumenté est très sensiblement plus lent avec l'instrumentation que sans. Mais bon, si on n'a pas de contrainte temps-réel, ce n'est pas forcément trop gênant ... et on gagne plein de temps ensuite ... Enfin, ça rassure quand on réussit la correction qui le fait taire :-) Si vous avez des expériences similaires avec cet outil ou d'autres du même genre, merci de nous en faire part. Cordialement. -- Phil -------------------------------------------------------------------- Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>