Удаленная отладка сервера Tomcat с помощью Eclipse
Я не могу отлаживать приложение tomcat через Eclipse. Я установил
CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
а потом я бегу bin/catalina.sh
, где я вижу выход, говорящий, что он слушает dt_socket
on port 8000
. Но когда я пытаюсь подключиться к порту 8000
в Eclipse (добавив запись в меню удаленного приложения java), он жалуется на отказ в подключении. Есть идеи?
14 ответов:
можете ли вы проверить, если это работает?
JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" catalina.sh jpda start
в каталоге Tomcat bin, где
catalina.bat
или.sh
найдено (aka {CATALINA_BASE} / bin), редактировать (создать, если нет):setenv.bat/.sh
добавить следующую строку:
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
это все, что вам нужно сделать, вам не нужно редактировать
catalina.bat
(или.sh
файл).см. комментарии
catalina.bat
илиcatalina.sh
.возможно, вам придется настроить синтаксис для вашей конкретной среды / ситуации. Например, если у вас уже есть CATALINA_OPTS определенный, вы можете сделать что-то вроде этого (в среде windows):
set CATALINA_OPTS=%CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=n
для отладки из Eclipse:
run - > Debug конфигурации...- >Удаленное Приложение Java- > Новый
и укажите имя, проект, который вы отлаживаете, а также хост tomcat и порт отладки, указанные выше.
Я потратил некоторое время на это, чтобы получить нужную информацию.
Итак, вот подробная информация шаг за шагом.
Среда: Windows 7
версия TomCat: 7.0
IDE: Eclipse
конфигурации, которые будут добавлены для включения удаленной отладки с помощью tomcat is
-Xdebug -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
Я не рекомендую выше конфигурации для среды без windows. Чтобы добавить вышеуказанную конфигурацию дважды щелкните на сервере tomcat, который будет доступен в представлении сервера. Найдите снимок экрана ниже.
теперь добавьте приведенную выше конфигурацию среды выполнения в tomcat. Для этого проверьте ниже скриншот.
теперь добрался до вкладки Arugments в Edit launch configuration properties, как показано ниже на снимке экрана.
GoTo VM аргументы раздел добавить эти строки.
- Xdebug
- agentlib:jdwp=transport=dt_socket, address=8000, server=y, suspend=n
теперь есть кнопка отладки, доступная на панели инструментов eclipse.
в конфигурациях отладки найдите "удаленное приложение Java" и дважды щелкните по нему.
в поле " Имя " введите любое имя, которое вам нравится.
из поля проект с помощью кнопки Обзор выберите проект, который вы хотите выполнить удаленно отлаживать.
имя хоста-это не что иное, как адрес хоста. Здесь я работаю локально, так что это"localhost".
последний столбец порта значение должно быть 8000. Помимо текстовых полей имени и проекта, другие два столбца хост и порт будут заполнены самим eclipse, если не заставят вас иметь те же значения, что и упомянутые. Проверьте снимок экрана для получения информации.
теперь щелкните правой кнопкой мыши на TomcatServer в консоли сервера выберите Добавить и удалить из контекстного меню. Из этого диалогового окна вы можно добавить проект на сервер.
теперь запустите Tomcat sever.
теперь запустите TomCatDebugConfiguration из средства отладки.
последний раз откройте внутренний или внешний браузер и запустите свой проект. Если элемент управления выполнением достиг точки останова, то eclipse запросит перспективу отладки.
на пожалуйста, измените ниже.
Шаг 1:
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
Шаг 2:
JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
Шаг 3: запустите Tomcat из командной строки, как показано ниже:
catalina.sh jpda start
Шаг 4: Затем в eclipse создайте конфигурацию отладки
- дать любое имя для конфигурации.
- дать
project name
.- укажите тип подключения как
Standard(Socket Attach)
- хоста
localhost
- порт
8000
( или любой номер порта , но это должно быть в других местах тоже).
позвольте мне поделиться простой способ включить режим удаленной отладки в tomcat7 с eclipse (Windows).
Шаг 1: Откройте bin / startup.bat file
Шаг 2: добавьте следующие строки для отладки с опцией JDPA (она должна начинаться с строки файла )set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket
Шаг 3: в том же файле .. перейти к концу файла изменить эту строку -
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% instead of line call "%EXECUTABLE%" start %CMD_LINE_ARGS%
Шаг 4: затем просто запустите bin>startup.летучая мышь (так что теперь ваш сервер tomcat работает в удаленном режиме с портом 8000).
Шаг 5: после этого позволяет подключить ваш исходный проект по интегрированной среде разработки Eclipse с удаленного клиента.
Шаг 6: в Eclipse IDE перейдите в раздел "отладка конфигурации"
Шаг 7: Нажмите кнопку " удаленное приложение java "и на этом нажмите кнопку" Создать"
Шаг 8. на вкладке "подключение" установите значение параметра
project= your source project connection Type: standard (socket attached) host: localhost port:8000
Шаг 9: нажмите кнопку Применить и отладка.
Итак, наконец, ваш удаленный клиент eclipse подключен к запущенному серверу tomcat (debug режим.)
надеюсь, что этот подход может помочь вам.
С уважением..
изменить Каталина.летучая мышь чтобы добавить
set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
и
CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
необязательно: добавьте строку ниже, чтобы запустить режим отладки по умолчанию при запуске запуска.летучая мышь
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
Eclipse или STS выберите debug configuration щелкните правой кнопкой мыши - > new
connection type -> Standard socket Attach Port -> 8000 (as given in the CATALINA_OPTS) Host -> localhost or IP address
просто запустить
./catalina.sh jpda start
(вилки) или./catalina.sh jpda run
(Не вилка, не упоминается в справке). Все параметры, упомянутые здесь, по умолчанию имеют нормальные значения.
Если все выше не работает, вы всегда можете добавить в скрипт
set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
в tomcat 7, catalina.sh имеет такой код:
if [ "" = "jpda" ] ; then if [ -z "$JPDA_TRANSPORT" ]; then JPDA_TRANSPORT="dt_socket" fi if [ -z "$JPDA_ADDRESS" ]; then JPDA_ADDRESS="8000" fi if [ -z "$JPDA_SUSPEND" ]; then JPDA_SUSPEND="n" fi if [ -z "$JPDA_OPTS" ]; then JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" fi CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS" shift fi
Ii означает, что вы можете настроить JPDA с помощью:
export JPDA_TRANSPORT=dt_socket export JPDA_ADDRESS=8000 export JPDA_SUSPEND=n
или:
JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
и, наконец, использовать:
catalina.sh jpda start
в отношении
Я столкнулся с этой проблемой при запуске Tomcat внутри контейнера Docker. Чтобы исправить это, убедитесь, что вы добавили аргумент '-p 8000:8000' в команду docker run, чтобы предоставить этот порт для вашего локального компьютера. Вам, конечно, понадобится setenv.sh файл в вашем ${CATALINA_HOME}/ bin / в вашем контейнере, а также.
изменение автозагрузки.bat с CATALINA_OPTS и JPDA_OPTS не работал для меня, но добавил их к catalina.летучая мышь сделал
- изменить Каталина.летучая мышь
CATALINA_OPTS="-отладчика xdebug -Xrunjdwp:транспорт=dt_socket,address=Москва 8000,сервер=г,приостановить=Н"
JPDA_OPTS= "- agentlib:jdwp=transport=dt_socket, address=8000, server=y, suspend=n"
- изменить параметры автозагрузки.летучая мышь, чтобы включить jpda
изменить вызов " %исполняемый файл%" запустите %CMD_LINE_ARGS% to
вызов" %EXECUTABLE% " jpda start %CMD_LINE_ARGS%
затем настройте удаленное приложение java в конфигурациях отладки в Eclipse.
прежде всего, если вы откроете Каталину.летучая мышь с текстовым редактором, вы видите, что: "Не устанавливайте переменные в этом скрипте....."Поэтому никогда не меняйте его в этом скрипте, вместо этого вы можете сделать следующие шаги:
- он советует вам создать новый файл bat с именем " setenv.летучая мышь."
затем установите 2 переменные в этом файле bat, такие как:
установить CATALINA_OPTS="-отладчика xdebug -Xrunjdwp:транспорт=dt_socket,address=Москва 8000,сервер=г,приостановить=Н"
set JPDA_OPTS= "- agentlib:jdwp=transport=dt_socket, address=8000, server=y, suspend=n"
наконец запустите это в cmd, что: "catalina.bat jpda start"
в IDE создайте конфигурацию удаленной отладки и установите для узла связанный ip-адрес сервера и порт 8000.
для версии apache-tomcat-8.5.28 просто сделайте это,
catalina.bat jpda start
Как Настройки по умолчанию уже настроен для нас в Каталине.летучая мышь как
если не" %JPDA_OPTS% "= = "" goto gotJpdaOpts set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
поэтому нет необходимости в какой-либо другой конфигурации. И когда вы выполняете команду Каталина.запуск bat jpda, вы можете увидеть, что открыт порт отладки 8000.
для apache-tomcat-8.5.28
изменить
JDPA_OPTS
как показано ниже, а затем запустить какcatalina.bat jpda start
JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=8000,server=y,suspend=$JPDA_SUSPEND"