Программное взаимодействие с gdbserver

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

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

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


person grrussel    schedule 25.06.2009    source источник


Ответы (2)


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

Почему вы хотите один?

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

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

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

person Community    schedule 26.06.2009
comment
Все хорошие моменты; Я решил управлять локальной GDB через машинный интерфейс GDB и позволить локальной GDB взаимодействовать с удаленным gdbserver. - person grrussel; 27.06.2009

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

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

person Michael Snyder    schedule 09.10.2009