Xavier Lamorlette
gdb binaire coregdb -p pidgdb --args [programme options]gcc -ggdb3backtrace / bt / wherebreak / brcommandcont / cdelete [breakpoint number]directory [dir]frame ninfolist / lnext / nprint [xxx] / pret / rstep / sthreadnmobjdumpreadelfgdb binaire coreAnalyse post-mortem.
Sans le binaire : gdb -c core
gdb -p pidAttacher 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 -ggdb3Génére des symboles optimisés pour gdb, par exemple pour les macros.
backtrace / bt / whereAffiche la stack (= info stack).
bt full : affiche la stack et les variables localesbreak / brInsère un breakpoint.
br [file]:[line]br [function]br [where] if [condition]commandcommand [breakpoint number]
...
end
Liste de commandes qui seront executées à chaque fois que le breakpoint est atteint.
cont / cContinue l'exécution.
delete [breakpoint number]Supprime un breakpoint.
directory [dir]Ajoute un répertoire pour chercher les sources.
Refaire la dernière commande.
frame nChange le niveau de la stack.
infoinfo args : arguments de la fonction de la frameinfo breakpointsinfo locals : variables localesinfo thread : affiche le dernier niveau de la stack pour tous les threadsinfo symbol [xxx] : information sur un symbole (peut être une fonction)info reg [xxx] : information sur un registre
    rax : registre returned valuelist / lAffiche le code du niveau courant de la stack.
list - : remonternext / nVa à la ligne suivante (n'entre pas dans les fonctions) = step over.
print [xxx] / pAffiche la valeur d'une variable.
ret / rFinit l'exécution de la frame = step return (= finish).
step / sVa à la ligne suivante et entre dans les fonctions = step into.
set substitute-path [original_path] [new_path]
Changer le chemin pour aller chercher les sources.
threadIndique quel est le thread courant.
thread [n] : bascule sur le thread n.
nmnm -l -C libdll.so
-C : demangleobjdumpAffiche le contenu d'un objet binaire.
objdump -t [object file] | c++filt : affiche la table de symbolesobjdump -t [object file] | c++filt | grep [template name] | grep 'typeinfo name' : cherche les instances d'un template (utile pour mettre un breakpoint sur une instance donnée de template)readelfAffiche les informations sur un binaire ELF.
readelf -d [binary] : liste les bibliothèques utiliséesLa 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.