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

84

Я хочу запустить режим отладки для своего приложения. Но мне нужно запустить режим отладки из командной строки. Является ли это возможным ? И будет ли процедура различаться между tomcat 5.5 и tomcat 6.?

Карти
источник
6
catalina.bat jpda start
санбхат
1
возможный дубликат Start tomcat 6 в режиме отладки?
Макото

Ответы:

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.
52

Для 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
krzysiek.ste
источник
гм, да, хотя 8000 и dt_socket упоминаются как значения по умолчанию в catalina.bat, на самом деле вам нужно установить их, как в приведенном выше сообщении: /
hello_earth
точный ответ, и это сработало для меня +1. спас мой день
Джогиндер Малик
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 вам не нужно запускать catalina с jpda. В противном случае у вас может получиться вот чтоERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
Инарасимхан
4

Сначала перейдите в TOMCAT-HOME/binкаталог.

Затем выполните в командной строке следующее:

catalina.bat jpda start

Если сервер Tomcat работает под Linux, просто запустите catalina.shпрограмму

catalina.sh jpda start

То же самое для Tomcat 5.5 и Tomcat 6

Константин Йовков
источник
Вы можете мне сказать эквивалент Tomcat 7.0?
РАН
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 и наслаждайтесь удаленной отладкой.

user674669
источник
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

MarkyMarksFunkyBunch
источник
0

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

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

Затем вы можете просто запустить отладчик с помощью

catalina.bat jpda 

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

Аникет Такур
источник