Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| gdb [Le 05/10/2015, 12:47] – [Lancement de gdb] Ajout de l'option de ligne de commande --args 78.127.52.218 | gdb [Le 24/01/2026, 19:37] (Version actuelle) – suppr anjuta abandonné krodelabestiole | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| {{tag> | {{tag> | ||
| - | ---- | ||
| ====== Débuggage avec gdb ====== | ====== Débuggage avec gdb ====== | ||
| Ligne 11: | Ligne 10: | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | [[: | + | [[: |
| Si vous développez en utilisant une bibliothèque particulière, | Si vous développez en utilisant une bibliothèque particulière, | ||
| Ligne 27: | Ligne 26: | ||
| < | < | ||
| + | <note tip>on peut lancer avec l' | ||
| + | < | ||
| + | qui permet de visualiser le code, les points d' | ||
| + | </ | ||
| Dans l' | Dans l' | ||
| À tout moment, vous pouvez interrompre le programme avec le raccourci clavier **Ctrl+C** dans le terminal. La commande **where** vous permettra alors de voir la pile des appels. | À tout moment, vous pouvez interrompre le programme avec le raccourci clavier **Ctrl+C** dans le terminal. La commande **where** vous permettra alors de voir la pile des appels. | ||
| Ligne 36: | Ligne 38: | ||
| La commande **start** lance le programme et s' | La commande **start** lance le programme et s' | ||
| - | < | + | < |
| ==== Résumé des principales commandes ==== | ==== Résumé des principales commandes ==== | ||
| Ligne 46: | Ligne 48: | ||
| |break | |break | ||
| |info breakpoints | |info breakpoints | ||
| - | |delete | + | |delete |
| |~~~ | ~~~ | |~~~ | ~~~ | ||
| - | |next | n | exécute une instruction (ne rentre pas dans les fonctions) | + | |next | n | exécute une instruction (ne rentre pas dans les fonctions) |
| |step | s | exécute une instruction (rentre potentiellement dans les fonctions) | | |step | s | exécute une instruction (rentre potentiellement dans les fonctions) | | ||
| |finish | |finish | ||
| - | |until xx | u xx | exécute les instructions jusqu' | + | |list | l | affiche 10 lignes de code centrée sur la ligne à exécuter |
| + | |until xx | u xx | exécute les instructions jusqu' | ||
| + | | | ||
| + | | | ||
| + | |monitor reset halt | ||
| Ligne 78: | Ligne 83: | ||
| ==== Afficher la valeur d'une variable ==== | ==== Afficher la valeur d'une variable ==== | ||
| - | Il est possible d' | + | Il est possible d' |
| + | ou encore, en abbrégé et en spécifiant un type (x:hexa, d:decimal, f:float, c:char, s:string… help x pour les voir tous): | ||
| + | < | ||
| + | La même remarque | ||
| + | et pour une variable qui est un tableau de char de 16 caractères: | ||
| + | < | ||
| ===== Interfaces graphiques ===== | ===== Interfaces graphiques ===== | ||
| Ligne 85: | Ligne 95: | ||
| * Nemiver: interface de gdb s' | * Nemiver: interface de gdb s' | ||
| - | * Kdbg: interface de gdb s' | + | |
| * ddd: interface graphique très complète pour de nombreux debuggers dont gdb | * ddd: interface graphique très complète pour de nombreux debuggers dont gdb | ||
| * xxgdb: interface de gdb pour X | * xxgdb: interface de gdb pour X | ||
| - | * cgdb: interface de type ncurses | + | |
| * gdb-mode pour emacs | * gdb-mode pour emacs | ||
| - | Aussi, quelques environnements de développement incluent une interface graphique pour **gdb** ; c'est le cas d'[[:anjuta|Anjuta]], | + | ==== Pour Vim/GVim ==== |
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Pour IDE ==== | ||
| + | Aussi, quelques environnements de développement incluent une interface graphique pour **gdb** ; c'est le cas d' | ||
| ===== Concurrents ===== | ===== Concurrents ===== | ||
| Ligne 99: | Ligne 115: | ||
| ===== Liens ===== | ===== Liens ===== | ||
| - | * [[http:// | + | |
| - | * [[http:// | + | |
| - | * [[http://www.gnu.org/software/ddd/|Le site de ddd]] | + | |
| - | * [[http://cgdb.sourceforge.net/|Le site de cgdb]] | + | |
| - | * [[http:// | + | * (fr) [[https:// |
| - | * [[http://refcards.com/docs/peschr/gdb/ | + | |
| - | * [[http://www-rocq.inria.fr/who/ | + | |
| + | | ||
