GNU Debugger
GDB
| |
---|---|
Logo | |
Screenshot Bildschirmfoto des GNU Debuggers | |
Basisdaten
| |
Entwickler | GNU-Projekt |
Betriebssystem | Unix-Derivate (u. a. Linux), Windows |
Kategorie | Debugger |
Lizenz | GPL |
deutschsprachig | nein |
gnu.org/software/gdb/ |
Das UNIX-Programm GDB – der GNU Debugger – ist der De-facto-Standard-Debugger von Linux-Systemen und wurde vom GNU-Projekt entwickelt. Er ist auf viele Systeme portiert worden und unterstützt die Programmiersprachen C, C++, Objective-C, FORTRAN, Java, Pascal, Modula-2, Ada, D, Go und teilweise weitere.[1] GDB orientiert sich in seinem Interface an dem Debugger dbx, der ursprünglich von BSD-Unix stammt und mittlerweile als Bestandteil von Oracles Solaris Studio ausgeliefert wird.
GDB bietet die üblichen Möglichkeiten zur Ablaufverfolgung wie Breakpoints oder die Ausgabe des Stacktrace, und ermöglicht ein Eingreifen in die Ausführung von Programmen. GDB ermöglicht es Benutzern beispielsweise, die Variablen des Programms zu manipulieren oder Funktionen unabhängig vom normalen Programmablauf aufzurufen. Ab Version 7.0 ist die Ablaufverfolgung nicht nur vorwärts, sondern auch rückwärts möglich (Reverse Debugging).[2] Außerdem kann GDB mit Python und GNU Guile automatisiert werden.
Der Debugger besitzt keine eigene grafische Oberfläche, sondern nutzt die Standard-Ein/Ausgabe mit GNU readline, die optional aber durch eine auf der curses-Bibliothek basierende TUI ergänzt werden kann. Daneben gibt es einige grafische Debugging-Oberflächen, die den GDB als Backend verwenden, zum Beispiel das Eclipse-Plugin
, der ddd, der ncurses-basierte cgdb[3], gdbgui im Webbrowser[4], Insight oder Emacs im „
“. Auch Xcode nutzte den GNU Debugger. Seit Xcode Version 5 wird GDB nicht mehr offiziell durch die OS X Entwicklungsumgebung unterstützt.
Einige andere Tools arbeiten mit GDB zusammen, z. B. Speicherleck-Detektoren.
GDB unterstützt bzw. unterstützte unter anderem folgende Architekturen:
- Alpha
- ARM
- Atmel AVR
- Analog Devices Blackfin[5]
- H8/300
- System/370, System/390 und System z
- x86 und x86-64
- IA-64 „Itanium“
- Motorola 68000
- MIPS/MIPS64
- PA-RISC
- PowerPC (32- und 64-Bit)
- SuperH
- SPARC
- VAX
- Cell
Literatur
- Richard M. Stallman, Roland Pesch, Stan Shebs et al.: Debugging with GDB. Free Software Foundation, 2011, ISBN 978-0-9831592-3-0
- Norman Matloff, P. J. Salzman: The Art of Debugging with GDB, DDD, and Eclipse. No Starch Press, 2008, ISBN 978-1-5932717-4-9
Weblinks
- GDB-Homepage
- GDB Wiki
- Debugging with GDB. (PDF; gzipped; 2,0 MB) Dokumentation
- Using GNU's GDB Debugger Tutorial von Peter Jay Salzman
Einzelnachweise
- ↑ 15.4 Supported Languages
- ↑ Reverse Debugging with GDB. Abgerufen am 20. Januar 2014.
- ↑ cgdb auf github
- ↑ gdbgui auf gdbgui.com, abgerufen am 20. April 2019.
- ↑ http://blackfin.uclinux.org/doku.php?id=debuggers