Zum Inhalt springen

GNU Debugger

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 16. März 2026 um 22:38 Uhr durch imported>BrunoBoehmler (Literatur: Zeichensetzung Schlusspunkte).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
GDB

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Logo
Screenshot
Bildschirmfoto des GNU Debuggers
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler GNU-Projekt
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem Unix-Derivate (u. a. Linux), Windows
Programmier­sprache Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Kategorie Debugger
Lizenz GPL
deutschsprachig ja
gnu.org/software/gdb/
Datei:Gdb-7.3-debugging-session.png
Beispielausgabe bei der Fehlersuche mit 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.<ref>15.4 Supported Languages</ref> 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).<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Reverse Debugging with GDB.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 20. Januar 2014.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> 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 {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), der ddd, der ncurses-basierte cgdb<ref>cgdb auf github</ref>, gdbgui im Webbrowser<ref>gdbgui auf gdbgui.com, abgerufen am 20. April 2019.</ref>, Insight oder Emacs im „{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)“. 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:

Literatur

Weblinks

Einzelnachweise

<references />

Vorlage:Hinweisbaustein