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 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 de cette manière : 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 importante> Valgrind n'est pas capable de détecter certaines anomalies liées au code. Par exemple, il ne permet pas de vérifier les indices hors tableau sur des tableaux déclarés en statique. </note importante>
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