Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
valgrind [Le 24/11/2011, 09:23] 134.214.241.21 [Interfaces graphiques] |
valgrind [Le 01/09/2022, 00:07] (Version actuelle) moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>dapper feisty gutsy hardy intrepid programmation}} | + | {{tag>Xenial programmation}} |
---- | ---- | ||
====== Valgrind ======= | ====== Valgrind ======= | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== 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 principaux outils : | **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 principaux outils : | ||
- | * **Memcheck** : un détecteur de fuites mémoires | + | * **Memcheck** : un détecteur de fuites mémoires (option par défaut) |
* **Cachegrind** : un simulateur de caches | * **Cachegrind** : un simulateur de caches | ||
* **Callgrind** : un profileur | * **Callgrind** : un profileur | ||
Ligne 27: | Ligne 16: | ||
**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. | **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> | </note> | ||
- | + | ||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
- | * Avoir une connexion Internet fonctionnelle | + | |
- | * Avoir le [[depots#universe_et_multiverse|dépôt Universe]] activé. | + | * Disposer des [[:sudo|droits d'administration]]. |
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
===== Installation ===== | ===== Installation ===== | ||
- | Il suffit d'installer le paquet **[[apt://valgrind]]**. | ||
+ | il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>valgrind]]**. | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
- | Dans ce qui suit, on considère un programme C compilé que l'on appelle **test**. Ouvrez un terminal et suivez les instructions ci-dessous selon l'outil désiré. | + | Dans ce qui suit, on considère un programme C compilé avec l'option -g, que l'on appelle **test**. Ouvrez un terminal et suivez les instructions ci-dessous selon l'outil désiré. |
==== Détection de fuites mémoires ==== | ==== Détection de fuites mémoires ==== | ||
Ligne 76: | Ligne 65: | ||
===== Interfaces graphiques ===== | ===== Interfaces graphiques ===== | ||
- | * [[apt://Kcachegrind|Kcachegrind]] (dans les dépôts) permet de visualiser graphiquement les rapports de valgrind | + | * [[apt>Kcachegrind]] (dans les dépôts) permet de visualiser graphiquement les rapports de valgrind |
* Il existe une extension qui permet d'intégrer la plupart des outils valgrind (memcheck, massif, cachegrind, mais pas callgrind) dans eclipse. | * Il existe une extension qui permet d'intégrer la plupart des outils valgrind (memcheck, massif, cachegrind, mais pas callgrind) dans eclipse. | ||
Ligne 84: | Ligne 73: | ||
Rentrer l'adresse [[http://download.eclipse.org/technology/linuxtools/update]] dans help/software updates . | Rentrer l'adresse [[http://download.eclipse.org/technology/linuxtools/update]] dans help/software updates . | ||
- | * [[apt://alleyoop|Alleyoop]] (dans les dépôts) permet de visualiser graphiquement les rapports de valgrind, et aide à la correction. | + | * [[apt>Alleyoop]] (dans les dépôts) permet de visualiser graphiquement les rapports de valgrind, et aide à la correction. |
+ | ===== Désinstallation ===== | ||
+ | |||
+ | Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés. | ||
+ | |||
===== Références ===== | ===== Références ===== | ||
A titre informatif, voici quelques liens : | A titre informatif, voici quelques liens : | ||
- | * Manuel **Valgrind** complet : [[http://valgrind.org/docs/manual/index.html]] | + | * Manuel **Valgrind** complet : [[https://valgrind.org/docs/manual/index.html]] |
- | * Guide **Valgrind** de démarrage rapide : [[http://valgrind.org/docs/manual/QuickStart.html]] | + | * Guide **Valgrind** de démarrage rapide : [[https://valgrind.org/docs/manual/QuickStart.html]] |
+ | * http://www.siteduzero.com/tutoriel-3-473022-debuguer-facilement-avec-valgrind.html | ||
---- | ---- | ||
//Contributeurs: [[utilisateurs:nicolas66]]// | //Contributeurs: [[utilisateurs:nicolas66]]// |