
Cette section n’a aucune vocation à remplacer une documentation sur le débugueur (débogueur) ou « debugger » gdb.
Ici nous donnons uniquement les éléments clés afin de pouvoir se servir de gdb de façon la plus adéquate sous l’environnement emacs.
Dans la phase de développement, le « debugger » a une place primordiale, et quoi de plus naturel dans le cadre de l’utilisation du compilateur gcc, d’utiliser le debugger gdb: « GNU Debugger »
Utiliser « gdb » sous emacs, va permettre de lier toutes les opérations à travers les fichiers sources, et permettre d’afficher, dans une fenêtre à part, les variables à observer.
Champ d’utilisation
Cet article va uniquement adresser le debug en locahost. Pour un debug en remote, je vous invite à consulter l’article compilation croisée 3
Option de Compilation
Avant propos
Afin de pouvoir déboguer une programme écrit en C/C++, il faut utiliser l’option -g lors de la compilation
Pour information l’option de compilation « -ggdb » n’apporte pas d’améliorations par rapport à l’option « -g », sinon quelques subtilités très highlevel/
Dans l’utilisation d’une arborescence avec répertoires:
source, include, lib, .. et un fichier Makefile se trouvant au niveau du répertoire racine, il peut être utile d’utiliser l’option -C afin d’indiquer le chemin du make

D’autre part, comme nous sommes sous l’environnement emacs, plutôt que de lancer la compilation « make » à travers un shell, il est plus judicieux, pour une question de lien dynamique vers les lignes d’erreur, d’utiliser le compilateur intégré à emacs : M-x Compile
En résumé
Sous emacs
M-x Compile make -C ../ -k

Débogueur gdb sous Emacs
Référence Emacs
Le debugger gdb sous l’environnement Emacs est référencé par « gud »
Lancement
Déboguer un programme local, à la différence d’un programme en remote, s’opère tout simplement sous emacs avec
M-x gdb -i=mi --> il faut spécifier un interpréteur (qui est "console" par défaut, mais sous emacs, il doit être : "mi")
Commandes de base
pwd --> répertoire courant cd --> changement de répertoire file tap2wav --> charge le fichier à déboguer r ../data/AIGLE.TAP --> lance le programme avec arguments.. n --> next s --> step p [va] --> print variable b --> break
Afin de pouvoir avoir accès au mToolbar du menu de debug, il faut l’activer à travers : l’Option emacs:
M-x tool-bar-mode

Suivre l’évolution de variables sous emacs, se fait à travers le menu Watch de Gud.
