Программное взаимодействие с gdbserver - PullRequest
1 голос
/ 25 июня 2009

Программа gdbserver позволяет выполнять удаленную отладку программ. Как правило, локальная копия gdb используется для взаимодействия с удаленным экземпляром gdbserver и программой, запущенной на этом удаленном gdbserver.

Мой вопрос: существуют ли клиентские реализации удаленного последовательного протокола GDB (RSP), которые позволяют программам, отличным от GDB, взаимодействовать с программой GDBserver?

В этом документе обсуждается реализация RSP-сервера , но я заинтересован в первую очередь на стороне клиента. Эта реализация поддерживает клиента и сервер, но реализована в общем lisp. и еще не является зрелой библиотекой.

Ответы [ 2 ]

5 голосов
/ 10 октября 2009

Протокол удаленного GDB полностью задокументирован в руководстве GDB, которое доступно в Интернете по адресу http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html

У вас есть рабочий пример gdb - этого должно быть достаточно, чтобы вы могли написать клиент для управления gdbserver через последовательный протокол. ; -)

1 голос
/ 26 июня 2009

Я не знаю ни одного клиента протокола GDB.

Зачем вам это нужно?

Для простых задач (запуск; остановка; проверка адресов памяти) вы можете написать одну с нуля довольно быстро.

Для сложных задач (раскрутка стека, проверка переменных и т. Д.) Вам придется заново реализовать важные части GDB; и это, вероятно, не следует пытаться без веской причины.

Также обратите внимание, что протокол GDB / gdbserver постоянно развивается; Существуют положения, позволяющие более новой GDB работать со старым gdbserver, но я не уверен, верно ли обратное.

...