2009-11-10 3 views
1

Я получаю следующее сообщение, когда пытаюсь удаленно отлаживать приложение Java через eclipse. «Не удалось подключиться к удаленной виртуальной машине. Соединение отклонено». Какая ошибка?Удаленное отладочное приложение Java

ответ

3

Вам нужно вызвать процесс, который будет отлаживаться с соответствующими параметрами, например.

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 

(при необходимости замените соответствующим портом), и это звучит так, что виртуальная машина не прослушивает сконфигурированный порт. Вы можете использовать netstat /a, чтобы подтвердить, если виртуальная машина прослушивает этот порт (или telnet)

+0

Когда я попробовал netstat/a получил: TCP DEV-MACHINE2: 8787 localhost: 1261 ESTABLISHED Это единственная запись для номера порта 8787, которую я использую. – devnull

1

У вас есть порт 8000 или какой порт, который вы настроили для удаленных подключений, открываются на вашем брандмауэре?

+0

Сейчас я тестирую свою машину. Значит, это не проблема? – devnull

+0

нет, это не должно быть проблемой, если его на той же машине ... –

1

Удаленное приложение необходимо запустить первым. Добавили ли вы аргументы в целевое удаленное приложение, чтобы он принял отладочное соединение/

+0

да, я действительно начал удаленное приложение. – devnull

+0

Иногда порт не был выпущен с момента последнего запуска. В Windows сделайте «netstat -a» и найдите порт, который удаленное приложение использует для прослушивания отладочных подключений. Если он все еще открыт, вы не сможете открыть сеанс удаленной отладки. Закройте порт/сокет или, если он дойдет до него, измените используемый порт. Надеюсь, что первый сокет в конечном итоге освободится, прежде чем вы закроете второй. –

1

Убедитесь, что JVM был запущен с этими параметрами

-Xdebug -Xrunjdwp: транспорт = транспорт по сокетам, адрес = 8000, сервер = у, приостановить = п

и что порт 8000 свободен

+0

Как проверить, свободен ли порт. – devnull

+0

просто сделать netstat -an | grep 8000 –

2

Для отладки клиента, я наткнулся на тот же вопрос

URL -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4081 

Изменение номера порта решило проблему.

Смежные вопросы