Ceci est une ancienne révision du document !
Valgrid
Présentation
Valgrind est une suite d'outils de profilage et de débuggage mémoire sous licence GPL, qui permet de détecter des problèmes de gestion de la mémoire dans des programmes écrits en C / C++. Plus généralement, Valgrind repose sur une architecture générique permettant la supervisation de programmes à l'aide de 3 outils :
- Un détecteur d'erreurs mémoires
- Un profileur sur temps d'exécution
- Un profileur sur la mémoire
La détection d'erreurs fonctionne ainsi : le programme doit être lancé dans l'environnement de Valgrind. Toutes les entrées / sorties mémoires sont alors analysées et vérifiées minitieusement en interceptant tous les appels à (malloc|new) et (free|delete).
Note : Valgrind n'est pas capable de détecter certaines anomalies liées au code source. Par exemple, il ne permet pas de vérifier les indices hors tableau sur des tableaux déclarés en statique.
Pré-requis
- Avoir une connexion Internet fonctionnelle
- Avoir les dépôts Universe et Multiverse activés.
Installation
Il suffit d'installer le paquet apt://valgrind.
Utilisation
- Ouvrez un terminal
- Tapez la commande suivante pour lancer la détection de fuites mémoires sur votre programme binaire test
valgrind --tool=memcheck --leak-check=yes test
Références
A titre informatif, voici quelques liens :
- Manuel Valgrind complet : http://valgrind.org/docs/manual/index.html
- Guide Valgrind de démarrage rapide : http://valgrind.org/docs/manual/QuickStart.html