Voir aussi la GDB Quick Reference Card :
Pour ceux d’entre vous qui ont envie d’exploiter gdb
au
maximum de ses possibilités, allez voir à la
fin de ce fichier !
file toto
: Ouvre le fichier exécutable toto dans
gdbtarget remote :3333
: Sélectionne comme cible
d’exécution une sonde JTAG écoutant sur le port TCP local 3333.load
: Charge le programme sur la cible (via JTAG). Si
le fichier ELF contient un point d’entrée, gdb y positionne
automatiquement le PC.mon blablabla
: envoie la commande
blablabla
au driver de sonde JTAG.continue
// c
: Continue l’exécution
jusqu’au prochain point d’arrêtstep
// s
: Continue jusqu’à ce qu’une
autre ligne de code C soit atteintestepi
// si
: Continue jusqu’à la
prochaine instruction machinebreak [file:]line // b [file:]line
: Définit un point
d’arrêt à la ligne line
du fichier filebreak [file:]func
: Définit un point d’arrêt à l’entrée
de la fonction func
du fichier filebreak *addr
: Définit un point d’arrêt à l’adresse
addr
info break
: Affiche la liste des points d’arrêtsclear [file:]line
: Supprime le point d’arrêtclear [file:]func
: Supprime le point d’arrêtdelete
: Supprime tous les points d’arrêtinfo registers // i r
: Affiche l’état des
registresprint`` // p
: Affiche la valeur d’une variable ou d’un
registre. Les registres doivent être précédés par $
p $r0
: Affiche le contenu de r0p/x $pc
: Affiche le contenu du pc en hexadecimal
(/x
= Hexa, /d
= Décimal signé,
/u
= Décimal non signé, /t
= Binaire)x [/Nuf] expr
: Affiche le contenu de la mémoire à
l’adresse expr
N
= Nombre d’éléments à afficheru
= Taille des éléments (b
= Bytes,
h
= Half words (16 bits), w
= Words (32 bits),
g
= Giant words (64 bits)f
= Format (x
= Hexa, d
=
Décimal signé, u
= Décimal non signé, t
=
Binaire...)x/8 $sp
list
: Affiche le code source autour de l’instruction
en coursdisass addr
: Affiche le contenu de la mémoire à
l’adresse addr sous forme d’instructionsdisplay
: Comme print
mais affiche la
valeur après chaque arrêt du programmelayout split
: affiche l’affichage en deux zones, l’une
de commandes, l’autre de code et/ou registreslayout asm
: en mode split, affiche le code assembleur
dans la fenêtre du hautlayout regs
: en mode split, affiche les registres dans
la fenêtre du hautfocus cmd
: donne le focus à la zone de commandes
gdbenter
: réexecute la dernière commandehelp
: L’aide en ligneUn script d’initialisation intéressant pour nos TP :
target ext :2331
mon endian little
mon halt
# User interface with asm, regs and cmd windows
define split
layout split
layout asm
layout regs
focus cmd
end
Il suffira de le passer en argument à gdb
en utilisant
l’option -x
.