gdb

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
gdb [2023/09/12 13:30] – [Commandes] ajoute quelques commandes phswgdb [2025/03/05 12:16] (Version actuelle) – Add how to generate a core dump phsw
Ligne 13: Ligne 13:
  
  
-==== Afficher les valeurs des variables dans une autre base ====+==== Affichages ==== 
 + 
 +=== Afficher les valeurs des variables dans une autre base ===
  
 [[https://stackoverflow.com/questions/9671820/print-variables-in-hexadecimal-or-decimal-format|Source]] [[https://stackoverflow.com/questions/9671820/print-variables-in-hexadecimal-or-decimal-format|Source]]
Ligne 23: Ligne 25:
  
  
 +=== Chaînes de caractères en C++ ===
 +
 +Afficher le contenu de la chaîne de caractères de type ''std::string'' en C++ ([[https://stackoverflow.com/questions/6776961/how-to-inspect-stdstring-in-gdb-with-no-source-code|source]]) :
 +<code>
 +print *(char**)0x7fffffffda88
 +</code>
 +
 +
 +
 +
 +==== Breakpoints ====
  
-==== Activer un breakpoint seulement après un certain nombre de passages ====+=== Activer un breakpoint seulement après un certain nombre de passages ===
  
 [[https://stackoverflow.com/questions/2956889/how-to-make-a-gdb-breakpoint-only-break-after-the-point-is-reached-a-given-numbe|Source]] [[https://stackoverflow.com/questions/2956889/how-to-make-a-gdb-breakpoint-only-break-after-the-point-is-reached-a-given-numbe|Source]]
Ligne 30: Ligne 43:
 <code bash> <code bash>
 ignore <br-id> <nombre de fois à ignorer> ignore <br-id> <nombre de fois à ignorer>
 +</code>
 +
 +=== Poser un point d'arrêt sur toutes les fonctions validant une regex ===
 +
 +Par exemple toutes les fonctions qui ont un préfixe donné ([[https://stackoverflow.com/questions/24614062/how-do-i-break-on-all-functions-that-matches-a-pattern|source]]) :
 +<code>
 +rbreak ^pthread_
 </code> </code>
  
Ligne 99: Ligne 119:
 <code> <code>
 set history save on set history save on
 +</code>
 +
 +
 +
 +==== S'assurer que les symboles de debug existent ====
 +
 +La ligne suivante doit renvoyer quelque chose (on peut éventuellement greper ''debug'' ; [[https://stackoverflow.com/questions/3284112/how-to-check-if-program-was-compiled-with-debug-symbols|source]]) :
 +<code bash>
 +objdump --syms $fichier
 +</code>
 +
 +
 +==== Générer un core dump ====
 +
 +Depuis GDB :
 +<code>
 +generate-core-file [/chemin/vers/le/core.foo]
 +</code>
 +
 +Sans ouvrir GDB :
 +<code bash>
 +gcore $pid
 </code> </code>
  • gdb.1694518257.txt.gz
  • Dernière modification : 2023/09/12 13:30
  • de phsw