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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *