2013-03-05 1 views
3

Если я удаленной отладки с помощью gdb подключиться к gdbserver с помощьюGDB удаленной отладки с Valgrind

target remote host:2345 

Если отлаживать ошибки памяти с Valgrind и GDB (разорвать на неверном доступа к памяти) Я использую

target remote | vgdb 

(после запуска

valgrind --track-origins=yes --vgdb=yes --vgdb-error=0 [binary] 

на локальном Маха ine)

Могу ли я объединить два устройства для отладки ошибок памяти на удаленной машине?

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

ответ

6

Могу ли я объединить два устройства для отладки ошибок памяти на удаленной машине?

Да: текущий vgdb принимает --port= аргумент, так как это совершить:

r12204 | sewardj | 2011-10-22 13:38:08 -0700 (Sat, 22 Oct 2011) | 5 lines 

Так запустить vgdb --port=2345, а затем (gdb) target remote host:2345 как обычно.

+0

Я нашел время, чтобы попробовать следующее: '(valgrind --track-originins = yes --vgdb = yes --vgdb-error = 0 $ opt_executable $ opt_executable_args | tee $ myprogramlog;) & sleep 5; vgdb --port = 2345' Я получаю: 'прослушивание на порт 2345 ... подключено. ретрансляция данных между gdb и процессом 4853', а затем целевым удаленным хостом '(gdb): 2345' процессы завершаются. Поэтому я не могу отлаживать его, даже не запускать. Есть идеи? – highsciguy