Wikipedia · einfach zusammengefasst · Stand
GNU Debugger
Das UNIX-Programm GDB – der GNU Debugger – ist der De-facto-Standard-Debugger von Linux-Systemen und wurde vom GNU-Projekt entwickelt.
Inhalt4 Abschnitte
Überblick und Bedeutung
GDB, der GNU Debugger, ist ein vom GNU-Projekt entwickeltes Programm zur Fehlersuche in anderer Software. Auf Linux-Systemen gilt er als De-facto-Standard-Debugger. Er erschien 1986, steht unter der GPL und läuft auf Unix-Derivaten wie Linux sowie unter Windows. Als Programmiersprachen von GDB selbst werden C und Scheme genannt; die angegebene aktuelle Version ist 17.2 vom 10. Mai 2026.
GDB unterstützt die Untersuchung von Programmen in C, C++, Objective-C, FORTRAN, Java, Pascal, Modula-2, Ada, D und Go sowie teilweise weiteren Sprachen. Seine Bedienoberfläche orientiert sich am Debugger dbx, der ursprünglich aus BSD-Unix stammt.
Fehlersuche und Steuerung
GDB kann den Ablauf eines Programms verfolgen und während der Ausführung gezielt eingreifen. Zu den wichtigsten Funktionen gehören:
- Breakpoints: festgelegte Stellen, an denen die Programmausführung anhält.
- Stacktrace: eine Ausgabe der aktiven Funktionsaufrufe, mit der sich der Weg bis zu einem Fehler nachvollziehen lässt.
- Untersuchung und Veränderung von Variablen während der Laufzeit.
- Aufruf von Funktionen unabhängig vom normalen Programmablauf.
- Reverse Debugging: Seit Version 7.0 kann die Ausführung nicht nur vorwärts, sondern auch rückwärts verfolgt werden.
Wiederkehrende Abläufe lassen sich mit Python und GNU Guile automatisieren. Außerdem kann GDB mit weiteren Werkzeugen zusammenarbeiten, beispielsweise mit Detektoren für Speicherlecks.
Bedienung und grafische Oberflächen
GDB besitzt keine eigene grafische Benutzeroberfläche. Es arbeitet grundsätzlich über die Standard-Ein- und -Ausgabe und verwendet GNU readline zur Texteingabe. Optional steht eine auf der curses-Bibliothek beruhende textbasierte Benutzeroberfläche (TUI) zur Verfügung.
Mehrere andere Programme verwenden GDB als Backend, also als im Hintergrund arbeitende Debugging-Komponente. Dazu gehören das Eclipse-Plugin C/C++ Development Tools, ddd, das ncurses-basierte cgdb, das im Webbrowser laufende gdbgui, Insight und Emacs im „GUD mode“. Auch Xcode nutzte GDB; seit Xcode 5 wird es von der Entwicklungsumgebung unter OS X jedoch nicht mehr offiziell unterstützt.
Unterstützte Plattformen
GDB wurde auf viele Systeme portiert und unterstützt oder unterstützte zahlreiche Prozessorarchitekturen. Genannt werden Alpha, ARM, Atmel AVR, Analog Devices Blackfin, H8/300, System/370, System/390, System z, x86, x86-64, IA-64 „Itanium“, Motorola 68000, MIPS und MIPS64, PA-RISC, PowerPC in 32- und 64-Bit-Ausführung, SuperH, SPARC, VAX und Cell. Dadurch kann GDB zur Fehlersuche auf sehr unterschiedlichen Hardwareplattformen eingesetzt werden.