Як запустити режим налагодження з командного рядка для сервера Apache Tomcat?


84

Я хочу запустити режим налагодження для моєї програми. Але мені потрібно запустити режим налагодження з командного рядка. Це можливо ? І чи буде процедура варіюватися від tomcat 5.5 до tomcat 6.?


6
catalina.bat jpda start
санбхат

Відповіді:


119
На вікнах
$ catalina.bat jpda start
На Linux / Unix
$ catalina.sh jpda start

Докладніше ----> https://cwiki.apache.org/confluence/display/TOMCAT/Developing


Дякую, це допомогло мені налаштувати параметр налагодження в startup.sh. Редагування останнього рядка в tomcat/bin/startup.shдо exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@". Я завжди забуваю запустити режим налагодження, і я можу зберегти 5-хвилинне перезапуск.
TomasZ.

51

Для Windows спочатку встановіть змінні:

set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket

щоб запустити сервер у режимі налагодження:

%TOMCAT_HOME%/bin/catalina.bat jpda start

Для перших змінних експорту Unix:

export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket

і для запуску сервера в режимі налагодження:

%TOMCAT_HOME%/bin/catalina.sh jpda start

гм так, хоча 8000 та dt_socket згадуються за замовчуванням у catalina.bat, ви насправді повинні встановити їх, як у наведеному вище дописі: /
hello_earth

до точної відповіді, і це спрацювало для мене +1. врятував мій день
Joginder Malik

25
  1. З вашої IDE створіть конфігурацію віддаленої налагодження, налаштуйте її для типового порту JPDA Tomcat, який є портом 8000.

  2. З командного рядка:

    Linux:

    cd apache-tomcat/bin
    export JPDA_SUSPEND=y
    ./catalina.sh jpda run
    

    Windows:

    cd apache-tomcat\bin
    set JPDA_SUSPEND=y
    catalina.bat jpda run
    
  3. Виконайте конфігурацію віддаленої налагодження з вашої IDE, і Tomcat почне працювати, і ви тепер зможете встановити точки зупинки в IDE.

Примітка:

JPDA_SUSPEND=yЛінія НЕ є обов'язковою, це корисно , якщо ви хочете , щоб Apache Tomcat не починається його виконання до кроку-ні буде завершено, корисно , якщо ви хочете проблеми ініціалізації програми усунення несправностей.


14

Короткою відповіддю є додавання наступних опцій під час запуску JVM.

JAVA_OPTS=" $JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8080"

При використанні JAVA_OPTS -Xdebug не потрібно запускати каталіну з jpda. В іншому випадку ви можете закінчити з цимERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
lnarasimhan

4

Спочатку перейдіть до TOMCAT-HOME/binкаталогу.

Потім у командному рядку виконайте наступне:

catalina.bat jpda start

Якщо сервер Tomcat працює під Linux, просто викликайте catalina.shпрограму

catalina.sh jpda start

Це те ж саме для Tomcat 5.5 і Tomcat 6


Чи можете ви сказати мені еквівалент Tomcat 7.0?
RAS

3

Ці інструкції працювали для мене на apache-tomcat-8.5.20 на mac os 10.13.3 за допомогою jdk1.8.0_152:

$ cd /path/to/apache-tomcat-8.5.20/bin
$ export JPDA_ADDRESS="localhost:12321"
$ ./catalina.sh jpda run

Тепер підключіться до порту 12321 від IntelliJ / Eclipse і насолоджуйтесь віддаленою налагодженням.


2

Існує два способи запустити tomcat у режимі налагодження

  1. Використання jdpa run

  2. Використання JAVA_OPTS

Спочатку налаштуйте середовище. Потім запустіть сервер, використовуючи наступні команди.

export JPDA_ADDRESS=8000

export JPDA_TRANSPORT=dt_socket

%TOMCAT_HOME%/bin/catalina.sh jpda start

sudo catalina.sh jpda start

зверніться до цієї статті для отримання додаткової інформації, це чітко це визначає


1

Якщо ви хочете зробити це через PowerShell у Windows, це спрацювало для мене

$ env: JPDA_SUSPEND = "y"

$ env: JPDA_TRANSPORT = "dt_socket"

/path/to/tomcat/bin/catalina.bat jpda start


0

Всередині catalina.bat встановіть порт, з якого ви хочете запустити налагоджувач

if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=9001

Тоді ви можете просто запустити налагоджувач за допомогою

catalina.bat jpda 

Тепер з Eclipse або IDEA виберіть віддалену налагодження та почніть налагодження, підключившись до порту 9001.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.