Возможно ли отладить, когда target находится на удаленном хосте ?
Пример:
# ddd --debugger /usr/bin/bashdb <sript-name> (on remote host)
Ответ 1
Используйте 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.
Ответ 2
Что вы можете сделать, это ssh на удаленный хост и установить переменную $DISPLAY, чтобы указать на ваш локальный хост, чтобы там открывался графический интерфейс ddd:
Сначала найдите текущий $DISPLAY:
mylocalhost:~> echo $DISPLAY
mylocalhost:1
Предполагая, что ваш текущий X-клиент находится на порту 1.
Теперь настройте удаленный $DISPLAY, чтобы указать на локальный компьютер:
Обратите внимание, что перед этим вам, возможно, придется открыть локальный X-клиент для удаленных подключений. Вот как это делается:
mylocalhost:~> xhost +
Ответ 3
Попробуйте xming server + putty portable, это потрясающе для удаленной отладки. Я использую его для отладки моего кода внутри виртуальной машины без проблем.