25 septembre 2006

Détecter les erreurs de mémoire au moment de l'exécution d'un programme

On peut utiliser le logiciel Valgrind sous linux, il aide notamment a détecter :

  • Utilisation des places - mémoire non-initialisées ;
  • Lecture/écriture des places - mémoire libérées auparavant ;
  • Lecture/écriture au-delà des blocks alloués ;
  • Lecture/écriture à des endroits inappropriés de la pile ;
  • Fuites de mémoire ;
  • Vérification des paires malloc/new/new [] et free/delete/delete [] ;
  • Quelques erreurs d'utilisation des POSIX pthreads ;

Utilisation :

valgrind [options.valgrind] votre-prog [options.programme]
Exemple :
valgrind --leak-check=yes --show-reachable=yes ./add 1 2 3 

-> lire une petite introduction rapide

http://www.cprogramming.com/debugging/valgrind.html

Un outil similaire pour Windows : http://www-01.ibm.com/software/awdtools/purify/

Aucun commentaire: