Удаленная отладка с использованием GNDDDD

Вопрос:

  • Можно ли отлаживать, когда цель находится на удаленном хосте?

Пример:

 # ddd --debugger /usr/bin/bashdb <sript-name> (on remote host)

3 ответа

Решение

Используйте gdbserver на целевой (удаленной) машине, как описано там. Затем выполните шаги конфигурации для удаленной отладки GDB (посмотрите документацию GDB), набрав команды в окне консоли DDD (это проход к приглашению GDB).

Это может быть что-то вроде этого (например, если ваша ссылка на цель была соединением USB-последовательный порт):

(gdb) set remotebaud 115200
(gdb) target remote /dev/ttyUSB0

или же

(gdb) target remote the-target:2345

отладить gdbserver по IP-адресу-цели, используя TCP-порт 2345.

Что вы можете сделать, это SSH на удаленном хосте, и установить $DISPLAY переменная, указывающая на ваш локальный хост, так что графический интерфейс DDD открывается там:

Первый поиск вашего текущего $DISPLAY:

mylocalhost:~> echo $DISPLAY
mylocalhost:1

Предполагая, что ваш текущий X-клиент находится на порту 1.

Теперь настройте пульт $DISPLAY указать на ваш локальный компьютер:

mylocalhost:~> ssh remotehost
remotehost:~> setenv DISPLAY mylocalhost:1    

Теперь запустите DDD:

remotehost:~> ddd <whatever parameters you want>

Обратите внимание, что вам может потребоваться открыть ваш локальный X-клиент для удаленных подключений, прежде чем сделать это. Вот как:

mylocalhost:~> xhost +

Попробуйте xming server + putty portable, это здорово для удаленной отладки. Я использую его для отладки своего кода внутри виртуальной машины Linux без проблем.

http://www.straightrunning.com/XmingNotes/ https://wiki.utdallas.edu/wiki/display/FAQ/X11+Forwarding+using+Xming+and+PuTTY

Другие вопросы по тегам