Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top