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.
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.
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 display
Befehl .
Vs TUI:
robuster, da es nur auf Standard druckt, anstatt die Shell in einen magischeren Fluchzustand zu versetzen, z.
vi
Modus in .inputrc
verursacht Probleme: /superuser/180512/how-to-turn-off-gdb-tui/927728#927728Hochgradig 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 ;-)
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