prog:gdb
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
prog:gdb [2017/07/04 17:35] – Création avec "Breakpoints" et "La pile" root | prog:gdb [2024/04/05 11:31] (Version actuelle) – Complétion des breakpoints root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | =====Breakpoints===== | + | [[https:// |
- | ====La liste==== | + | |
+ | =====Lancement===== | ||
+ | * Soit les paramètres de l' | ||
+ | |||
+ | gdb --args program args | ||
+ | |||
+ | * Soit le dump à analyser : | ||
+ | |||
+ | gdb program dump | ||
+ | gdb -c dump | ||
+ | |||
+ | =====Options===== | ||
+ | |||
+ | ====Par défaut==== | ||
+ | |||
+ | Ajouter dans le fichier '' | ||
+ | |||
+ | ====Description==== | ||
+ | |||
+ | Ne plus avoir de points d' | ||
+ | |||
+ | =====Points d' | ||
+ | |||
+ | * La liste | ||
info breakpoints | info breakpoints | ||
info watchpoints | info watchpoints | ||
- | ====Les enlever==== | + | * Les enlever |
clear | clear | ||
delete n | delete n | ||
- | =====La pile===== | + | * Les désactiver |
- | Seulement la hiérarchie des fonctions | + | |
+ | Certaines applications génèrent beaucoup d' | ||
+ | |||
+ | handle SIGSEGV nostop noprint pass | ||
+ | |||
+ | * Suivre les enfants / fork | ||
+ | |||
+ | set follow-fork-mode child | ||
+ | |||
+ | ====Conditions==== | ||
+ | |||
+ | b Message.cpp: | ||
+ | |||
+ | ====Exception==== | ||
+ | |||
+ | Mettre un point d' | ||
+ | |||
+ | =====Démarrer le débogage===== | ||
+ | |||
+ | Avec un point d' | ||
+ | |||
+ | start | ||
+ | |||
+ | Sans point d' | ||
+ | |||
+ | run | ||
+ | |||
+ | =====Une fois arrêté===== | ||
+ | |||
+ | ====La pile==== | ||
+ | |||
+ | * Seulement la hiérarchie des fonctions | ||
bt | bt | ||
- | Avec les variables locales | + | * Avec les variables locales |
bt full | bt full | ||
+ | |||
+ | ====Afficher le code==== | ||
+ | |||
+ | * Afficher plus que la seule ligne en cours | ||
+ | |||
+ | list | ||
+ | |||
+ | * Activer l' | ||
+ | |||
+ | CTRL+X + CTRL+A | ||
+ | |||
+ | * Rafraîchir l' | ||
+ | |||
+ | CTRL+L | ||
+ | |||
+ | * Multi fenêtre | ||
+ | |||
+ | CTRL+X + 2 | ||
+ | Répéter de fois autant de nécessaire pour avoir la combinaison de fenêtre : code C / code assembleur, code assembleur / registres, registres / code C. | ||
+ | | ||
+ | Pour modifier le contenu de la fenêtre des registres, il faut faire '' | ||
+ | |||
+ | * Touches haut et bas | ||
+ | |||
+ | Avant les touches haut et bas permettaient de faire défiler les commandes précédentes / suivantes. En mode TUI, haut et bas font défiler la fenêtre en cours. Il faut utiliser '' | ||
+ | |||
+ | =====Naviguer dans le débogage===== | ||
+ | |||
+ | * Avancer d'une ligne de code sans entrer dans une éventuelle sous-fonction | ||
+ | |||
+ | next | ||
+ | |||
+ | * Avancer d'une ligne de code en entrant dans une éventuelle sous-fonction | ||
+ | |||
+ | step | ||
+ | |||
+ | * Reprendre le cours de l' | ||
+ | |||
+ | continue | ||
+ | |||
+ | =====Scripts===== | ||
+ | |||
+ | * Relancer l' | ||
+ | |||
+ | Utile si le plantage d'un programme est aléatoire | ||
+ | |||
+ | Mettre un point d' | ||
+ | |||
+ | Taper : | ||
+ | command 1 | ||
+ | record | ||
+ | continue | ||
+ | end | ||
+ | |||
+ | command 2 | ||
+ | run | ||
+ | end | ||
+ | |||
+ | =====Bugs===== | ||
+ | |||
+ | ====decode_line_full: | ||
+ | |||
+ | Il faut supprimer tous les '' | ||
+ | [[https:// | ||
+ | |||
+ | N' |
prog/gdb.1499182517.txt.gz · Dernière modification : 2017/07/04 17:35 de root