GNU Debugger - Eine ausführliche Anleitung

mathmos

404
Registriert
14 Juli 2013
Beiträge
4.412
Wenn ein Programm unter Linux mit einem Segfault abschmiert ist der GNU Debugger (gdb) oft die beste Wahl um den Problem auf den Grund zu gehen. Leider ist dessen Bedienung nicht ganz trivial, so dass normale Endanwender oft keine Chance haben. Was auch oft schlecht für die Entwickler ist, weil dann eventuelle Bug-Meldungen recht dünn ausfallen.

Gerade eben habe ich auf Reddit einen Verweis auf gefunden. Hier gibt Brendan Gregg ein komplettes Beispiel wie man mit dem gdb einem Segfault auf die Schliche kommt. Und das auch noch in einigermaßen verständlicher Art und Weise (was bei den anderen, wenigen Anleitungen zu gdb oft das Problem ist). Vielleicht kann der eine oder andere hier ja was damit anfangen.

Da solche Perlen oft aus dem Internet verschwinden, habe ich den ganzen Artikel mal als PDF abgespeichert.
 

Anhänge

  • Thread Starter Thread Starter
  • #3
Ich bevorzuge in solchen Fällen gerne die "Offline-Variante". Damit bin ich unabhängig von Dritten und durch meine mehrstufige Datensicherung kommt da auch nichts weg.
 
Ich finds gut das auch mal (indirekt) aufgeklärt wird welchen Sinn Debugging-Symbols bzw. die DBG Bibliotheken haben die man sich installieren kann, ist mir auch neu gewesen. :)

Für den Rest muß man sich ja schon ungefähr auskennen, ASM, was und wofür die Register sind was gewisse Funktionen bewerkstelligen und so weiter.

Was ich mir nochmal wünschen würde, weil wir gerade bei dem Thema sind auch wenn das vielleicht zu Basic ist für die Leute die es interessiert, Simple(re) Coderoutinen zu debuggen - also eine For Schleife mit Zähler, ein Bubble Sort, ein If - ne While Loop und andere generierte Pattern.

Also falls jemand so etwas schon kennt und das hier mal verlinken könnte, wäre prima ;)

Wobei, hier kommt es vermutlich auch auf den Compiler/Optimierungen an, wie der generierte ASM Code aussieht - aber so ein Beginner Walkthrough. ;)

Auch mit einem 64 bit System am besten - falls der Wunsch nicht zu viel verlangt ist. :D
 
Zurück
Oben