Programmatische Interaktion mit gdbserver
-
20-08-2019 - |
Frage
Das gdbserver Programm ermöglicht das Remote-Debugging von Programmen. Typischerweise wird eine lokale Kopie von gdb verwendet, um mit der entfernten gdbserver Instanz zu interagieren, und das Programm unter diesem entfernten gdbserver läuft.
Meine Frage ist: Gibt es Client-Implementierungen des gdb serielle Remote-Protokoll (RSP), die anderen Programme als gdb erlaubt, mit dem gdbserver Programm?
zu interagierenDieses Dokument beschreibt die Implementierung eines RSP Server , aber es ist die ich Client-Seite bin in erster Linie interessiert an. Dieses Implementierung unterstützt Client und Server, aber ist in Common Lisp implementiert und ist noch nicht eine reife Bibliothek.
Lösung
Ich bin nicht bekannt, dass Kunden des GDB-Protokolls.
Warum wollen Sie ein?
Für einfache Aufgaben (ab; Anhalten; Speicheradressen Prüfung). Sie einen von Grund auf ziemlich schnell schreiben kann,
Für komplizierte Aufgaben (Unwinding Stapel, Variablen untersuchen, etc.) Sie müßten wesentliche Teile von GDB neu zu implementieren; und das soll wohl nicht ohne einen sehr guten Grund versucht werden.
Beachten Sie auch, dass GDB / gdbserver Protokoll entwickelt sich ständig weiter; gibt es Bestimmungen neueren GDB Deal mit älteren gdbserver lassen, aber ich bin nicht sicher, ob auch das Gegenteil wahr ist.
Andere Tipps
Das Remote-GDB-Protokoll ist in dem GDB Handbuch vollständig dokumentiert, die bei online verfügbar ist http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html
Sie haben gdb an als Arbeits Beispiel aussehen - das sollte genug sein, damit Sie einen Client schreiben gdbserver über das serielle Protokoll zu steuern. ; -)