Отладка JBoss в Eclipse

Как настроить JBoss для отладки приложения в Eclipse?


person Etam    schedule 05.02.2009    source источник


Ответы (6)


Вы имеете в виду удаленную отладку JBoss из Eclipse?

Из Настройка Eclipse для удаленной отладки:

Установите переменную JAVA_OPTS следующим образом:

set JAVA_OPTS= -Xdebug -Xnoagent 
   -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n %JAVA_OPTS%

or:

JAVA_OPTS="-Xdebug -Xnoagent 
  -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n $JAVA_OPTS"

Во фрейме Отладка выберите узел Удаленное приложение Java.

В свойствах подключения укажите localhost в качестве хоста и укажите порт в качестве порта, который был указан в пакетном сценарии запуска сервера JBoss, 8787.

Отладка JBoss

person VonC    schedule 05.02.2009
comment
Не уверен, что добавление комментария к этому старому ответу будет прочитано, но все равно! Я использовал эту настройку для отладки приложений на моем сервере JBOSS через Eclipse, и она работает нормально — я могу устанавливать точки останова в Eclipse и перехватывать запросы на сервере. Однако, когда я пересобираю приложение и развертываю его в горячем режиме на JBOSS, новая версия приложения работает успешно, но я больше не могу перехватывать обработку через Eclipse. Точки останова игнорируются. Это ожидаемое поведение? Нужно ли перезапускать JBOSS каждый раз, когда я хочу отладить повторно развернутое приложение? - person CodeClimber; 27.10.2010
comment
@dairemac: по крайней мере, я это прочитаю;) Спасибо за этот отзыв. У меня нет возможности напрямую воспроизвести этот конкретный параметр, но я подозреваю, что процесс мониторинга приложений прерывается во время горячего развертывания, что означает перезапуск сеанса JBossDebug. - person VonC; 27.10.2010
comment
@VonC: я внес изменения в файл run.bat и пытаюсь перезапустить сервер jboss, но это занимает чертовски много времени по сравнению с обычным режимом, какие-либо предложения относительно того, что может улучшить время загрузки? - person Rachel; 29.10.2011
comment
@Rachel: у меня нет недавнего опыта работы с этой настройкой, поэтому любое количество параметров может повлиять на это (память, используемая версия jdk, параметры java, ...). Я бы сначала попробовал отслеживать, какой ресурс занимает время (IO, заблокированный порт, какой-то тайм-аут?) с помощью такого инструмента, как procmon (technet.microsoft.com/en-us/sysinternals/bb896645). - person VonC; 29.10.2011
comment
Я настраивал его в jboss 4, столкнулся с несколькими проблемами при настройке переменной JAVA_OPTS. Итак, добавлю мое решение в качестве комментария: установите переменную JAVA_OPTS в bin/run.bat(для Windows) или в bin/run.sh(для mac и linux) - person ishanbakshi; 10.03.2016

Если вы настроили сервер JBoss с помощью Eclipse WebTools, вы можете просто запустить сервер в режиме отладки (кнопка отладки в представлении серверов). Это позволит вам установить точки останова в приложении, работающем внутри JBoss.

person Fabian Steeg    schedule 05.02.2009
comment
Это правда и вызывает сомнения (поскольку я не знаю, речь идет об удаленной или локальной отладке): +1 - person VonC; 05.02.2009

VonC упомянул в своем ответе, как удаленно отлаживать Eclipse.

Хочу добавить, что настройки JAVA_OPTS уже есть в run.conf.bat. Вам просто нужно раскомментировать их:

в JBOSS_HOME\bin\run.conf.bat в Windows:

rem # Sample JPDA settings for remote socket debugging
set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

Версия для Linux аналогична и находится по адресу JBOSS_HOME/bin/run.conf.

person xdhmoore    schedule 08.07.2013
comment
Раскомментирование этой строки работает отлично, и мне кажется, это лучшее место для добавления отладочной JAVA_OPTS. - person chim; 06.01.2017
comment
безупречный ответ @xdhmoore - person Gaurav; 25.03.2019

Здесь, если вы хотите напрямую отлаживать сервер, вы можете использовать:

1.)Windows ->

2.)Показать представление -> Сервер: щелкните правой кнопкой мыши сервер, затем запустите его в режиме отладки.

person Ankit    schedule 03.12.2015

Вам необходимо определить удаленное Java-приложение в конфигурациях отладки Eclipse:

Откройте конфигурации отладки (выберите проект, затем откройте из меню конфигурации запуска/отладки). Выберите удаленное приложение Java в левом дереве и нажмите кнопку «Создать». На правой панели выберите проект веб-приложения и введите 8787 в поле порта. Вот ссылка на подробное описание этого процесса.

Когда вы запускаете конфигурацию удаленной отладки, Eclipse подключается к процессу JBoss. В случае успеха в представлении отладки отобразятся потоки JBoss. На панели инструментов/в меню также есть значок отключения, чтобы остановить удаленную отладку.

person Ankit    schedule 04.12.2015

То, что говорит @VonC, верно, но вы можете поместить команды для установки отладки непосредственно в аргументы VM при запуске jBoss.

Для этого откройте jBoss сервер внутри Eclipse, перейдите в «Открыть конфигурацию запуска» и поместите это в VM аргументов textbox: вм аргументы

person CheshellCat    schedule 20.01.2017