Debugging mit gdb

Linux

Wie im Beitrag mit den Debugging‐Symbols erwähnt besteht die Möglichkeit, Binaries zu debuggen, sofern die entsprechenden Informationen dazu erhalten sind. Wie dies zu geschehen hat entnehmt bitte dem entsprechenden Beitrag.

Ist das System entsprechend vorbereitet, können wir uns das Paket sys‐devel/gdb emergen, welches den GNU debugger enthält. Haben wir diesen, können wir damit beginnen, einen Trace zu erstellen.

Dies passiert am Einfachsten durch das Aufrufen eines Programmes im Debugger:

$ gdb /bin/ls
GNU gdb 6.4
[…]
(db) set args /usr/share/fonts
(gdb) run
Starting program: /bin/ls /usr/share/fonts
[Thread debugging using libthread_db enabled]
[New Thread 47467411020832 (LWP 11100)]
100dpi aquafont baekmuk‐fonts cyrillic dejavu fonts.cache‑1 kochi‐substitute misc xdtv
75dpi arphicfonts CID default encodings fonts.dir mikachan‐font util
Program exited normally.
(gdb)

Die Abschlussmeldung „Program exited normally.“ zeigt nur an, dass das Programm mit dem Errorcode 0 beendet hat und keine Fehler erreicht wurden. Aufgrund von einer unter Umständen unsauberer Programmierung des zu debuggenden Programms würde ich dieser Meldung nicht allzuviel Vertrauen schenken.

Previous Post Next Post