Кажется, я не могу отлаживать приложение tomcat через Eclipse. Я установил
CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
а затем я бегу bin/catalina.sh
, где я вижу выход сказать , что это прослушивание для dt_socket
на port 8000
. Но всякий раз, когда я пытаюсь подключиться к порту 8000
в Eclipse (путем добавления записи в меню удаленного Java-приложения), он жалуется на отказ в подключении. Любые идеи?
Ответы:
Вы можете проверить, работает ли это?
источник
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
catalina.bat jpda start
suspend
указывает, должен ли jvm ждать отладчика или продолжить. См. Этот документ .catalina.sh jpda start
должно хватить. В catalina.sh есть параJPDA_*
параметров, которые можно использовать, например, для изменения порта, см. Документацию в файле.Я потратил на это некоторое время, чтобы получить нужную информацию.
Итак, вот пошаговая подробная информация.
Окружающая среда: Windows 7
Версия TomCat: 7.0
IDE: Eclipse
Конфигурации, которые необходимо добавить для включения удаленной отладки с помощью Tomcat:
Я не рекомендую вышеуказанную конфигурацию для среды, отличной от Windows. Чтобы добавить указанную выше конфигурацию, дважды щелкните сервер tomcat, который будет доступен в представлении сервера. Найдите снимок экрана ниже.
Теперь добавьте указанную выше конфигурацию среды выполнения в tomcat. Для этого проверьте скриншот ниже.
Теперь переходим на вкладку Arugments в свойствах редактирования конфигурации запуска, как показано на снимке экрана ниже.
В разделе аргументов GoTo VM добавьте эти строки.
Теперь добрался до кнопки отладки, доступной на панели инструментов eclipse.
В настройках отладки найдите «Удаленное Java-приложение» и дважды щелкните по нему.
В поле Имя введите любое имя, которое хотите.
В поле проекта с помощью кнопки обзора выберите проект, для которого вы хотите выполнить удаленную отладку.
Имя хоста - это не что иное, как адрес хоста. Здесь я работаю локально, так что это "localhost".
В последнем столбце «Порт» значение должно быть 8000. Помимо текстовых полей «Имя» и «Проект» два других столбца «Хост» и «порт» будут заполнены самим eclipse, если вы не укажете указанные значения. Проверьте снимок экрана для информации.
Теперь щелкните правой кнопкой мыши TomcatServer в консоли сервера и выберите Добавить и удалить из контекстного меню. В этом диалоговом окне вы можете добавить проект на сервер.
Теперь запустите сервер Tomcat.
Теперь запустите TomCatDebugConfiguration из Debug Tool.
В последний раз откройте внутренний или внешний браузер и запустите свой проект. Если управление выполнением достигло точек останова, затмение запросит перспективу отладки.
источник
В каталоге bin tomcat, где находится
catalina.bat
или.sh
(он же {CATALINA_BASE} / bin), отредактируйте (создайте, если нет):Добавьте следующую строку:
Это все, что вам нужно сделать, вам не нужно редактировать
catalina.bat
(или.sh
) файл.Смотрите комментарии в
catalina.bat
илиcatalina.sh
.Возможно, вам придется настроить синтаксис для вашей конкретной среды / ситуации. Например, если у вас уже определена CATALINA_OPTS, вы можете сделать что-то вроде этого (в среде Windows):
Для отладки из Eclipse:
запустить-> Конфигурации отладки ...-> Удаленное приложение Java-> Создать
и укажите имя, проект, который вы отлаживаете, а также хост Tomcat и порт отладки, указанные выше.
источник
setenv.bat
вbin
директории поместить строку , какset JPDA_OPTS= -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n
, использованиеstartup.bat
для запуска TomcatВ
catalina.bat
файле, пожалуйста, измените ниже.Шаг 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
(или любой номер порта, но он должен быть таким же и в других местах).источник
Многие из приведенных выше ответов верны, но помните, что по умолчанию отладчик будет прослушивать только localhost. Если вы отлаживаете удаленный сервер, вам нужно будет указать IP-адрес для прослушивания, например
Обратите внимание, что теперь адрес 10.1.1.33 : 8000.
Конечно, вы также можете проверить, какой IP-адрес действительно используется, запустив
как в Windows, так и в Linux и отфильтруйте порт с помощью
find
(Windows) илиgrep
(Linux).источник
Просто запустите
./catalina.sh jpda start
(разветвляется) или./catalina.sh jpda run
(не разветвляется, не упоминается в справке). Все упомянутые здесь параметры по умолчанию имеют нормальные значения.источник
Позвольте мне рассказать о простом способе включения режима удаленной отладки в tomcat7 с помощью eclipse (Windows).
Шаг 1: откройте файл bin / startup.bat
Шаг 2: добавьте следующие строки для отладки с опцией JDPA (это должна быть начальная строка файла)
Шаг 3: в том же файле .. перейдите в конец файла, измените эту строку -
Шаг 4: затем просто запустите bin> startup.bat (теперь ваш сервер tomcat работает в удаленном режиме с портом 8000).
Шаг 5: после этого давайте подключим ваш исходный проект с помощью eclipse IDE с удаленным клиентом.
step6: В Eclipse IDE перейдите в «Конфигурация отладки»
step7: нажмите «удаленное Java-приложение» и затем нажмите «Создать»
шаг8. во вкладке "подключение" установите значение параметра
Шаг 9: нажмите «Применить» и отладить.
Итак, наконец, ваш удаленный клиент eclipse подключен к работающему серверу tomcat (режим отладки).
Надеюсь, этот подход может вам помочь.
С уважением..
источник
Измените catalina.bat, чтобы добавить
и
Необязательно: добавьте строку ниже для запуска режима отладки по умолчанию при запуске startup.bat
Eclipse или STS выберите конфигурацию отладки, щелкните правой кнопкой мыши -> новый
источник
Если по-прежнему все вышеперечисленное не работает, вы всегда можете добавить в скрипт
источник
В tomcat 7 в catalina.sh есть этот код:
Ii подразумевает, что вы можете настроить JPDA с помощью:
Или с:
И, наконец, используйте:
catalina.sh jpda start
С уважением
источник
Я столкнулся с этой проблемой при запуске Tomcat внутри контейнера Docker. Чтобы исправить это, убедитесь, что вы добавили аргумент '-p 8000: 8000' в команду запуска докера, чтобы открыть этот порт для вашего локального компьютера. Вам, конечно же, понадобится файл setenv.sh в вашем $ {CATALINA_HOME} / bin / в вашем контейнере.
источник
Изменение startup.bat с помощью CATALINA_OPTS И JPDA_OPTS у меня не сработало, но добавление их в catalina.bat помогло
CATALINA_OPTS = "- Xdebug -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = n"
JPDA_OPTS = "- agentlib: jdwp = transport = dt_socket, address = 8000, server = y, suspend = n"
изменить вызов "% EXECUTABLE%" start% CMD_LINE_ARGS% на
вызвать "% EXECUTABLE%" jpda start% CMD_LINE_ARGS%
Затем настройте удаленное Java-приложение в настройках отладки в Eclipse.
источник
Прежде всего, если вы откроете catalina.bat с помощью текстового редактора, вы увидите, что: «Не устанавливайте переменные в этом скрипте…» Поэтому никогда не меняйте их в этом скрипте, вместо этого вы можете выполнить следующие шаги:
Затем установите 2 переменные в этом файле bat, например:
set CATALINA_OPTS = "- Xdebug -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = n"
установить 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 как
Так что никакой другой конфигурации не требуется. И когда вы выполните команду catalina.bat jpda start, вы увидите, что порт отладки 8000 открыт.
источник
См. Этот ответ о проблемах, которые у меня были с Java 8 и Tomcat 9: Удаленная отладка Java (JPDA) не работает для меня в Tomcat 9
Это похоже на предупреждение @DAB, и его решение, вероятно, более безопасно.
источник
Для apache-tomcat-8.5.28
измените,
JDPA_OPTS
как показано ниже, затем запустите какcatalina.bat jpda start
источник