Ich weiß, dass diese Frage schon früher aufgeworfen wurde, aber meistens in Bezug auf gdb
für ein Programm, das auf dem lokalen Rechner läuft.
Ich hatte Erfolg mit eclipse-cdt
, aber es scheint nur gelegentlich zu funktionieren. Angeblich wurde Insight
zuvor zum debuggen benutzt (dieses eingebettete x86
Board), aber es scheint tot zu sein.
Ich brauche nur C-Debugging nicht C ++. Wenn möglich würde ich eine Verbindung über gdbserver
(wie auf dem Rat und ich verbinde mich immer über die Befehlszeile) vorziehen, aber wenn Sie denken, gdb
oder ssh
auf dem Gerät zu setzen und es durch zu verwenden das ist besser, bitte erwähnen Sie diese Lösungen auch.
P.S. Die Version von gdbserver
auf dem Gerät ist 7.1, es wäre schön, wenn die Lösung mit einer kompatiblen Version von gdb
arbeiten könnte, aber ich könnte möglicherweise eine andere gdbserver
Version installieren.
Ich würde Eclipse Indigo empfehlen, das integrierte Unterstützung für Remote-Debugging-Anwendungen über gdbserver bietet. Ich weiß nur nicht, wo der Quellcode gefunden werden muss, damit er funktioniert.
Sinec verwendet die MI-Schnittstelle von gdb und sollte wie jede andere Schnittstelle funktionieren, die mit gdb interagiert.
Ich empfehle, Qt Creator auszuprobieren. Es ist plattformübergreifend, hat ziemlich gute "Code Insight" -Funktionen und ist wesentlich leichter als Eclipse. Es ist eine vollständige IDE, nicht nur ein Debugger-Frontend. Es erfordert eine gdb mit Python-Unterstützung gebaut (nur Client, denke ich), aber kommt mit ihm in seinem plattformübergreifenden Installer. Es ist definitiv mehr auf die Entwicklung von C ++ / Qt-Anwendungen ausgerichtet, unterstützt aber generische Makefile- und CMake-Projekte und ich benutze es als meinen täglichen C IDE und Debugger.
Abhängig davon, welche Art von remoten Ziel Sie debuggen, kann die Antwort auf diese Frage sehr unterschiedlich sein. Wenn Sie Cross-Debugging auf einem tief eingebetteten Mikrocontroller-Target durchführen, auf dem ein RTOS läuft, werden Ihre Möglichkeiten begrenzter.
Bei Makefile-basierten Projekten möchten Sie den Assistenten zum Erstellen eines generischen Projekts verwenden , das standardmäßig alle Quelldateien unter dem angegebenen Verzeichnis zu Ihrem Projekt hinzufügt. Es kann einige manuelle Arbeiten erfordern, um Ihr Projekt zu warten, wenn Qt Creator Dinge "verstehen" soll, die Sie in Ihren makefile-ähnlichen Befehlszeilen-Include-Verzeichnissen (in Ihrer .includes-Datei) angegeben haben. gehen Sie in Ihre .config-Datei) und die Befehlszeilensymboldefinitionen (gehen Sie in Ihre .config-Datei). Die Projektdateiliste und die Befehle compile, deploy und run können jedoch alle über die GUI verwaltet werden.
Gdb selbst hat bereits Flüche basierend auf Pseudogui eingebaut. Standardmäßig teilt es den Hauptbildschirm in 2 Fenstern auf. Das obere Fenster enthält den Quellcode, das untere Fenster ist die Befehlszeilenschnittstelle. Es gibt auch andere Modi, die Ihnen erlauben, Registerwerte und Assembly anzuzeigen. Es funktioniert gut über ssh, also wenn Sie können, kopieren Sie gdb auf Ihrem Gerät und debuggen Sie es über ssh. Wenn nicht, kann alles oben für das Debugging über gdbserver angewendet werden.
Probieren Sie Affinic Debugger-GUI aus. Es hat ein neueres Design.
DDD ist zu alt, Affinic Debugger unterstützt alle wichtigen Plattformen und ist leistungsfähiger als DDD.
Tags und Links c gdb remote-debugging