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 la page !
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 atteinte en entrant dans les fonctions
appelée.
finish.next // n : Similaire à step
sans entrer dans les fonctions. Considère l’appel comme une ligne de
code C.stepi // 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
addrinfo 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 $splist : 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
endIl suffira de le passer en argument à gdb en utilisant
l’option -x.