Gibt es eine interaktive oder benutzerfreundlichere Version von GDB zum Debuggen?

8

Gibt es eine interaktive oder benutzerfreundlichere Version (oder Ersetzung) von GDB für das Debuggen?

Einige Leute schlugen CGDB vor, aber nach ein paar Tests fand ich es fehlerhaft und instabil.

xzhu
quelle

Antworten:

9

Es gibt mehrere grafische Frontends für gdb. GNU DDD und KGDB, um nur einige zu nennen.

GNU DDD : Geben Sie hier die Bildbeschreibung ein

KGDB : Geben Sie hier die Bildbeschreibung ein

Update: Ich habe nicht erwähnt, dass gdb tatsächlich eine integrierte textbasierte Benutzeroberfläche hat, wenn Sie es ausführen mit gdb -tui: Geben Sie hier die Bildbeschreibung ein

Egil
quelle
1

Eine Liste der GDB-Frontends finden Sie unter http://sourceware.org/gdb/wiki/GDB%20Front%20Ends

Dies gibt leider nur weitere Links, aber keine Hinweise auf Umfang und Benutzerfreundlichkeit, die dort sehr unterschiedlich sind. Ich würde empfehlen, ein Frontend zu verwenden, das sich in der aktiven Entwicklung befindet, da sich die GDB selbst stark ändert.

lecker
quelle
0

GDB-Dashboard

https://github.com/cyrus-and/gdb-dashboard

Das GDB-Dashboard verwendet die offizielle GDB-Python-API und druckt die gewünschten Informationen, wenn GDB beendet wird, z. B. nach a next, wie der native displayBefehl .

Vs TUI:

  • robuster, da es nur auf Standard druckt, anstatt die Shell in einen magischeren Fluchzustand zu versetzen, z.

  • Hochgradig konfigurierbar über Python: Sie können auswählen, was Sie ausgeben möchten und wie groß die einzelnen Abschnitte sind, je nachdem, was Sie debuggen.

    Die nützlichsten Ansichten sind bereits implementiert: Quelle, Assembly, Register, Stapel, Speicher, Threads, Ausdrücke ... aber es sollte einfach sein, sie mit allen Informationen zu erweitern, die in der GDB Python-API verfügbar gemacht werden.

    TUI erlaubt nur die Anzeige von zwei Quellen, Assemblys und Registern, und das ist es. Es sei denn, Sie möchten den C-Quellcode ändern ;-)

Geben Sie hier die Bildbeschreibung ein

Ich bin der Meinung, dass GDB mit einem solchen Setup ausgeliefert werden sollte, das standardmäßig aktiviert ist. Auf diese Weise würde es viel mehr Benutzer anziehen.

Oh, und der Hauptentwickler, Andrea Cardaci , war sehr reaktionsschnell und großartig. Ein großes Lob.

Siehe auch: /programming/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/17341335#17341335

Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
quelle
-1

Sie können UltraGDB ausprobieren , es ist ein GDB-GUI-Frontend und eine leichte IDE, die auf der Eclipse-Technologie basiert.

Xiao Ming
quelle
Ich habe gerade ihr Github-Repo überprüft. wurde seit Juni 2015 nicht aktualisiert. Scheint nicht sehr vertrauenswürdig.
Al.G.