l liste le code, l - liste le code précédentinfo break : affiche les infos sur les breakpointsinfo locals : pour voir toutes les variables existantes dans le contexte actuel et leurs valeursdisable n : désactive le breakpoint nthread apply all bt : affiche la backtrace de tous les threadssave breakpoints filename pour sauvegarder les breakpoints, puis source filename pour les restaurerdprintf 16,“current value %d\n”,i : à chaque passage à la ligne 16, ajoute le printf correspondantprint/x var # affiche en hexa print/t var # affiche en binaire
Afficher le contenu de la chaîne de caractères de type std::string en C++ (source) :
print *(char**)0x7fffffffda88
ignore <br-id> <nombre de fois à ignorer>
Par exemple toutes les fonctions qui ont un préfixe donné (source) :
rbreak ^pthread_
Directement à l'invocation de GDB (source) :
gdb --args ./foo bar
gdb -ex run ./a.out
gdb -p <pid> gdb <programme> <pid>
GDB dispose de deux modes:
parent: GDB continue à debugguer le processus pèrechild: GDB continue à debugguer le processus filsPour connaître le mode courant:
show follow-fork-mode
Pour définir le mode:
set follow-fork-mode mode
Le fichier doit être créé dans le dossier utilisateur et avoir les droits 600.
alias tare = target remote
set history save on
La ligne suivante doit renvoyer quelque chose (on peut éventuellement greper debug ; source) :
objdump --syms $fichier
Depuis GDB :
generate-core-file [/chemin/vers/le/core.foo]
Sans ouvrir GDB :
gcore $pid