Удаленная отладка с использованием 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