У меня есть сервер CentOS 6.0 x64 с 2 картами GeForce 480GTX, и я использую его для отладки моих программ cuda. Сегодня я попытался использовать cuda-gdb на своем ноутбуке для удаленной отладки моей программы. Так что я попытался так:cuda-gdb удаленная ошибка отладки
Я открыл Баш оболочку и использовать SSH для подключения к серверу, а затем войти в каталог, где находится программа.
Я начинаю Cuda-gdbserver, введя это: -gdbserver CUDA: 9999 ./a.out
После того, что я получил это на баш:
Процесс ./a. созданный; PID = 4356
Прослушивание на порту 9999
Кажется, gdbserver CUDA работает хорошо.
Итак, я открыл новую оболочку bash и решил отладить программу, используя cuda-gdb. Сначала я открыл-CUDA GDB, теперь оболочка выглядит так: (CUDA-GDB)
Затем я попытался подключить удаленный сервер: цель удаленного 192.168.2.105:9999
где 192,168. 2.105 - это адрес ip моего сервера
Но, к моему разочарованию, я получил информацию об ошибке из оболочки, в которой говорится: 192.168.2.105:9999: нет маршрута для размещения.
Что случилось? Некоторое время я искал googled, кто-то сказал мне, что я должен остановить службу iptables на сервере, поэтому я сделал, как они сказали (service iptables stop), но он все равно не работает. Кстати, я также пробовал целевую расширенную удаленную команду в cuda-gdb, ничего хорошего.
Кроме того, как сервер, так и мой ноутбук (работает ubuntu 12.10 x64) установили ту же подрывную программу cuda toolkit 5.5, и я могу хорошо отлаживать локально на своем сервере.
Итак, кто-нибудь знает, что мне нужно делать? Это очень озадачило меня в течение долгого времени (на самом деле я давно столкнулся с этой проблемой). Я хотел бы поблагодарить любого, кто заранее ответил на мой вопрос!
Вы имеете в виду iptables, не так ли? Я уже остановил его, и я думаю, что брандмауэр не работает, когда я делаю тестирование. Удаленный хост доступен, да, как я описал выше, я сначала использовал ssh для входа на удаленный хост, затем закрыл fireware и запустил процесс cuda-gdbserver. Команда ping также проверена, и она получила данные с удаленного хоста. Я попробую ваше предложение, но я не ожидаю, что это сработает для меня, вы можете найти другую причину, почему эта проблема возникает? В любом случае, спасибо за вашу помощь! –
Я не уверен, что это брандмауэр. Я не помню точное сообщение об ошибке (я вижу, что «Тайм-аут операции», если я пытаюсь подключиться к несуществующему серверу отладки). Ошибка «Нет root to host» чаще всего означает опечатку в IP-адресе или некоторых проблемах с сетью ... – Eugene
Чтобы оправдать свое предположение, я набрал эту команду на терминале: ** netstat -tulpn | меньше **, и я нашел эту строку на консоли: ** tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 7146/cuda-gdbserver **, поэтому мне кажется, что порт уже открыт (правда?). Я был действительно озадачен ~ –