Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
gdb [Le 19/03/2018, 11:55] – [Résumé des principales commandes] bcag2gdb [Le 24/01/2026, 19:37] (Version actuelle) – suppr anjuta abandonné krodelabestiole
Ligne 1: Ligne 1:
 {{tag>compilation programmation}} {{tag>compilation programmation}}
----- 
  
 ====== Débuggage avec gdb ====== ====== Débuggage avec gdb ======
Ligne 11: Ligne 10:
  
 ===== Installation ===== ===== Installation =====
-[[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>build-essential,gdb|build-essential gdb]]**+[[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>build-essential,gdb]]**
  
 Si vous développez en utilisant une bibliothèque particulière, vous pouvez éventuellement installer le paquet de débuggage, dont le nom finit par **-dbg**, en plus du paquet de développement (dont le nom finit par **-dev**). Si vous développez en utilisant une bibliothèque particulière, vous pouvez éventuellement installer le paquet de débuggage, dont le nom finit par **-dbg**, en plus du paquet de développement (dont le nom finit par **-dev**).
Ligne 27: Ligne 26:
  
 <code>gdb toto</code> <code>gdb toto</code>
-<note tip>on peut lancer avec l'option //-tui// +<note tip>on peut lancer avec l'option //-tui//
 <code>gdb -tui toto</code> <code>gdb -tui toto</code>
-qui permet de visualiser le code, les points d'arrêt… bref plus visuel… mais semble buggé +qui permet de visualiser le code, les points d'arrêt… bref plus visuel… mais semble buggé
 </note> </note>
 Dans l'interface de gdb, vous pouvez lancer le programme avec **run** et quitter le débogueur avec **quit**. Dans l'interface de gdb, vous pouvez lancer le programme avec **run** et quitter le débogueur avec **quit**.
Ligne 39: Ligne 38:
 La commande **start** lance le programme et s'arrête à la première ligne : la commande "n" permet ensuite de faire du pas-à-pas. La commande **start** lance le programme et s'arrête à la première ligne : la commande "n" permet ensuite de faire du pas-à-pas.
  
-<note>Si le programme a des paramètres d'entrée, il faut les ajouter à la suite de **run** (ou **start**) ou le mettre en ligne de commande (attention, taper **gdb --args monprogramme monoption mesoptions**).</note> +<note>Si le programme a des paramètres d'entrée, il faut les ajouter à la suite de **run** (ou **start**) ou le mettre en ligne de commande (attention, taper **gdb --args monprogramme monoption mesoptions**).</note>
  
 ==== Résumé des principales commandes ==== ==== Résumé des principales commandes ====
Ligne 55: Ligne 54:
 |finish                    | f                           | exécute les instructions jusqu'à la sortie de la fonction                    | |finish                    | f                           | exécute les instructions jusqu'à la sortie de la fonction                    |
 |list                        | l                           | affiche 10 lignes de code centrée sur la ligne à exécuter                 | |list                        | l                           | affiche 10 lignes de code centrée sur la ligne à exécuter                 |
-|until xx                 | u xx                      | exécute les instructions jusqu'à la ligne xx                                       +|until xx                 | u xx                      | exécute les instructions jusqu'à la ligne xx 
 +
 +
 +|monitor reset halt                                 | reset la target, permet de recommencer l'execution et le debug depuis le                 debut du code
  
  
Ligne 102: Ligne 103:
 ==== Pour Vim/GVim ==== ==== Pour Vim/GVim ====
   * [[https://github.com/larrupingpig/vimgdb-for-vim7.4|VimGDB]]   * [[https://github.com/larrupingpig/vimgdb-for-vim7.4|VimGDB]]
-  * [[http://www.vim.org/scripts/script.php?script_id=4582|Conque GDB]]+  * [[https://www.vim.org/scripts/script.php?script_id=4582|Conque GDB]]
   * [[https://sourceforge.net/projects/clewn|Clewn]]   * [[https://sourceforge.net/projects/clewn|Clewn]]
  
 ==== Pour IDE ==== ==== Pour IDE ====
-Aussi, quelques environnements de développement incluent une interface graphique pour **gdb** ; c'est le cas d'[[:anjuta|Anjuta]], d'[[:eclipse|Eclipse]] ou encore de [[:kdevelop|KDevelop]].+Aussi, quelques environnements de développement incluent une interface graphique pour **gdb** ; c'est le cas d'[[:Eclipse]] ou de [[:KDevelop]].
  
 ===== Concurrents ===== ===== Concurrents =====
Ligne 118: Ligne 119:
    * (fr) [[https://www.rocq.inria.fr/secret/Anne.Canteaut/COURS_C/gdb.html|tuto de Anne Canteaut de l'INRIA, bien documenté]]    * (fr) [[https://www.rocq.inria.fr/secret/Anne.Canteaut/COURS_C/gdb.html|tuto de Anne Canteaut de l'INRIA, bien documenté]]
    * (fr) [[https://openclassrooms.com/courses/deboguer-son-programme-avec-gdb|tuto sur openclassrooms, bien documenté]]    * (fr) [[https://openclassrooms.com/courses/deboguer-son-programme-avec-gdb|tuto sur openclassrooms, bien documenté]]
-   * (fr) [[http://devarea.developpez.com/dix-choses-faisables-avec-GDB/|Dix choses qu'on ne peut faire qu'avec GDB]]+   * (fr) [[https://devarea.developpez.com/dix-choses-faisables-avec-GDB/|Dix choses qu'on ne peut faire qu'avec GDB]]
    * (fr) [[http://www.linux-france.org/article/devl/gdb.html|Utilisation de gdb-mode sous Emacs sur linux-france.org]]    * (fr) [[http://www.linux-france.org/article/devl/gdb.html|Utilisation de gdb-mode sous Emacs sur linux-france.org]]
    * (en) [[http://www.gnu.org/software/ddd/|Le site de ddd (interface graphique pour debuggers dont gdb)]]    * (en) [[http://www.gnu.org/software/ddd/|Le site de ddd (interface graphique pour debuggers dont gdb)]]
    * (en) [[http://cgdb.sourceforge.net/|Le site de cgdb]]    * (en) [[http://cgdb.sourceforge.net/|Le site de cgdb]]