-
Einführung
- Seer ist ein GUI-Frontend für
gdb unter Linux und hat das Ziel, eine einfach zu bedienende und visuell ansprechende Oberfläche zu bieten.
- Das Projekt wird aktiv weiterentwickelt; Bugs oder gewünschte Funktionen können per E-Mail oder über die GitHub-Projektseite gemeldet werden.
-
Installation
- Seer kann über einen Paketmanager oder aus dem Quellcode installiert werden.
-
Anforderungen
- Erforderlich sind Linux, C++17,
gdb (einschließlich MI-Interpreter), CMake (3.1.0 oder höher) und QT6.
- Das QT6-"devel"-Paket muss installiert sein.
- QT5 wird nicht mehr unterstützt; Version 2.3 ist der letzte Quellcode-Stand, der es unterstützt.
-
Installation aus dem Paket
- Die Installation ist über Pamac (Manjaro) und zypper (openSUSE Tumbleweed) möglich.
-
NEWS
- Aktuelle Informationen finden sich auf der GitHub-Wiki-Seite von Seer.
- v1.17 ist das letzte Qt5-Release; das nächste Release wird das auf Qt6 basierende v2.0 sein.
-
GUI-Überblick
-
Hauptansicht
- Bietet Listen für Quellcode/Funktionen/Typen/Variablen/Bibliotheken.
- Zeigt Informationen zu Variablen und Registern an.
- Im Code-Manager können Quelldateien geöffnet und durchsucht werden.
- Breakpoints, Watchpoints, Catchpoints und Printpoints können verwaltet werden.
- Bietet Informationen zu Stack-Frames und Threads.
- Unterstützt den Reverse-Debugging-Modus von Gdb.
-
Dialog „Öffnen“
- Beschreibt das Dialogfenster beim Öffnen einer ausführbaren Datei.
-
Seer-Konsole
- Die gesamte Textausgabe der ausführbaren Datei wird an die Seer-Konsole weitergeleitet.
-
Assembleransicht
- Assemblercode kann in Tabs angezeigt werden.
- Eine neue Funktion, für die Feedback und Funktionsvorschläge willkommen sind.
-
Speicher-Visualizer
- Visualisiert den rohen Inhalt des Speichers.
-
Array-Visualizer
- Visualisiert den Inhalt von Arrays als X-Y-Diagramm.
-
Struct-Visualizer
- Visualisiert den Inhalt von C/C++-Structs oder Klassen.
-
Bild-Visualizer
- Visualisiert rohen Speicherinhalt als Bild.
-
Seer starten
- Entwickelt, damit sich zu debuggende Programme einfach über die Kommandozeile starten lassen.
- Verschiedene Startmethoden sind im GitHub-Wiki beschrieben.
-
Support/Kontakt
- Bugs oder Funktionswünsche können per E-Mail oder über die GitHub-Projektseite gemeldet werden.
1 Kommentare
Hacker-News-Kommentare
Bei der Nutzung mit Godot und unter Linux wirkt die UI komplex, bietet aber Funktionen. Beim Prüfen von Variablenwerten treten Fehler auf oder es passiert gar nichts. Ein Doppelklick auf eine Variable fügt ihren aktuellen Wert und einen Zeitstempel in einem Panel hinzu. Gede bietet die einfachste und intuitivste UI; es hat weniger Funktionen, arbeitet aber zuverlässig und ohne Bugs
GDB hat eine eingebaute textbasierte Benutzeroberfläche (TUI) und ist einfach zu bedienen. Mausinteraktionen werden ebenfalls unterstützt
Nach der Nutzung mehrerer GDB-Frontends ist die TUI am besten. Wenn das Programm Ausgaben macht, kann die Oberfläche beschädigt werden, sodass man sie mit Ctrl + L neu zeichnen muss. In der Konfigurationsdatei wurden
layout srcundset confirm offhinzugefügtWenn man unter Windows eine Verbindung zu Linux herstellt oder WSL verwendet, kann man mit WinDBG/VisualStudio Linux-Prozesse per Remote-Debugging debuggen
Es gibt Qt UI for GDB und die webbasierte UI gdbgui. Es ist immer gut, Fortschritte bei Debugging-Tools zu sehen
DDD wirkte beim ersten Anblick wie Magie. Es wird immer noch gepflegt
Für Emacs-Nutzer bietet GUD eine großartige GDB-Integration
Zur Untersuchung von Bugs in C oder Ada wird gelegentlich GDB verwendet, aber es ist nicht die Haupttätigkeit. Daher wird keine Zeit in den Aufbau einer komplexen Debugging-Umgebung investiert. Stattdessen werden Emacs und einfache Notizen mit Anweisungen verwendet
Beim C++-Programmieren unter Linux vor 10 Jahren wurde Qt Creator verwendet, und der eingebaute Debugger (ein GDB-Frontend) funktionierte hervorragend. Für C++ und Qt gibt es keinen Grund, etwas anderes zu verwenden