Не удается удаленно отладить JVM через туннель SSH - PullRequest
5 голосов
/ 04 октября 2011

Мне нужно отладить приложение Java с помощью удаленного отладчика через туннель SSH. Я настроил замазку на своем ПК и могу подключиться к любой другой службе, работающей на сервере, используя туннель, однако удаленному отладчику eclipse не удается подключиться.

На стороне сервера я использую Java 1.6.0_21-b06, запущенную со следующими параметрами отладки:

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

На моем ноутбуке ssh туннель настроен так:

L8686 IP_ADDR:8686

Существуют ли какие-либо ограничения для отладчика JVM при запуске сеанса через туннель ssh?

Еще одна вещь, когда я пытаюсь подключиться, на консоли сервера я вижу следующее сообщение журнала:

Listening for transport dt_socket at address: 8686

Ответы [ 3 ]

2 голосов
/ 04 октября 2011

Можете ли вы попробовать L8686 localhost:8686 вместо этого, поскольку JVM может отказывать в соединениях с нелокальных адресов? Обратите внимание, что localhost - это адрес с точки зрения сервера.

2 голосов
/ 04 октября 2011

У меня тот же сценарий, и все работает нормально, вот как я запускаю мое приложение Java:

 java -Xmx120m -agentlib:jdwp=transport=dt_socket,server=y,address=8000 -jar bla.jar

вероятно, самая важная часть - -agentlib.

0 голосов
/ 04 октября 2011

То, что Listening for transport dt_socket at address: 8686 обычно происходит, если виртуальная машина запущена или существующий сеанс отладки закрыт, и виртуальная машина снова начинает прослушивать отладочное соединение. Возможно, запуск tcpdump на сервере может дать подсказку, какой узел закрывает соединение и смотрит немного глубже с этой стороны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...