Xavier Lamorlette

gdb

Options

gdb binaire core

Analyse post-mortem.

Sans le binaire : gdb -c core

gdb -p pid

Attacher gdb à un processus qui tourne.

En faisant ps x on voit que le processus est trace.

gdb --args [programme options]

Lancer un programme avec ses options via gdb.

gcc -ggdb3

Génère des symboles optimisés pour gdb, par exemple pour les macros.

Commandes

backtrace / bt / where

Affiche la stack (= info stack).

break / br

Insère un breakpoint.

command

command [breakpoint number]
...
end

Liste de commandes qui seront executées à chaque fois que le breakpoint est atteint.

cont / c

Continue l'exécution.

delete [breakpoint number]

Supprime un breakpoint.

directory [dir]

Ajoute un répertoire pour chercher les sources.

enter

Refaire la dernière commande.

frame n

Change le niveau de la stack.

info

list / l

Affiche le code du niveau courant de la stack.

next / n

Va à la ligne suivante (n'entre pas dans les fonctions) = step over.

print [xxx] / p

Affiche la valeur d'une variable.

ret / r

Finit l'exécution de la frame = step return (= finish).

step / s

Va à la ligne suivante et entre dans les fonctions = step into.

substitute-path

set substitute-path [original_path] [new_path]

Changer le chemin pour aller chercher les sources.

thread

Indique quel est le thread courant.

thread [n] : bascule sur le thread n.

Autres utilitaires

nm

Liste les symboles d'un fichier objet ou d'une bibliothèque.
Exemple : nm -l -C libdll.so

objdump

Affiche le contenu d'un objet binaire.

readelf

Affiche les informations sur un binaire ELF.

xkcd: Compiler Complaint

La dernière mise à jour de cette page date de novembre 2018.

Le contenu de ce site est, en tant qu'œuvre originale de l'esprit, protégé par le droit d'auteur.
Pour tout commentaire, vous pouvez m'écrire à xavier.lamorlette@gmail.com.