Удаленная отладка на Tomcat с Eclipse

#java #eclipse #tomcat #remote-debugging

#java #eclipse #tomcat #удаленная отладка

Вопрос:

Я пытаюсь инициировать сеанс удаленной отладки на моем компьютере с помощью Eclipse amp; Tomcat. Мне удалось запустить tomcat (не через eclipse) со следующими параметрами:

 set JPDA_TRANSPORT=dt_socket
set JPDA_ADDRESS=5050
cataline jpda start
  

Сервер запускается нормально, это результат:

 Using CATALINA_BASE:   "C:JavaTomcat"
Using CATALINA_HOME:   "C:JavaTomcat"
Using CATALINA_TMPDIR: "C:JavaTomcattemp"
Using JRE_HOME:        "C:Javajdk1.6.0_27"
Using CLASSPATH:       ...
Listening for transport dt_socket at address: 5050
...
...
INFO: Server startup in 12502 ms
  

Теперь я открыл eclipse и загрузил соответствующий проект.

Я установил новую конфигурацию отладки, используя Remote Java Application с localhost и правильным портом. однако, когда я запускаю его, я получаю это сообщение об ошибке:

 Failed to connect to remote VM. Connection refused.
Connection refused: connect
  

Не могу понять, в чем проблема. все это локально внутри ПК, поэтому не должно быть никаких брандмауэров, может кто-нибудь что-нибудь придумать?

Комментарии:

1. это все еще может быть брандмауэр, попробуйте отключить его и посмотрите

2. нет, я проверил… это не брандмауэр…

3. cataline jpda start выглядит странно. Обычно это называется catalina . Вы уверены, что используете хороший скрипт?

4. хорошо, если вы выполните «telnet localhost 5050», это сработает?

5. попробуйте запустить just catalina jpda start и подключиться к порту 8000. Без ваших собственных скриптов, переменных и т.д. Я надеюсь, что это сработает. Если да, продолжайте выяснять, почему ваш порт 5050 не работает.

Ответ №1:

Найдено решение. по-видимому, соединение было установлено, но Eclipse amp; Tomcat не показывают никаких уведомлений или статуса относительно него. Затем, когда вы снова инициируете соединение, вы получаете сообщение об ошибке, потому что вы уже подключены.

Я думаю, что небольшое уведомление либо от Eclipse, либо от Tomcat было бы неплохо.

Ответ №2:

Попробуйте добавить следующие параметры отладки непосредственно в запуск JVM, непосредственно изменив сценарий запуска catalina

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

Ответ №3:

Могут возникнуть проблемы при несоответствии кода между eclipse и tomcat. Поэтому, когда оно совпадет, ошибка исчезнет

Ответ №4:

Вы можете настроить это в разделе «удаленное приложение Java» в конфигурации отладки. Для получения более подробной информации вы можете обратиться по этой ссылке