¿Cómo iniciar el modo de depuración desde el símbolo del sistema para el servidor apache tomcat?

84

Quiero iniciar el modo de depuración para mi aplicación. Pero necesito iniciar el modo de depuración desde el símbolo del sistema. Es posible ? ¿Y el procedimiento variará entre tomcat 5.5 y tomcat 6.?

Karthi
fuente
6
catalina.bat jpda start
sanbhat
1
posible duplicado de Start tomcat 6 en modo de depuración?
Makoto

Respuestas:

119
En windows
$ catalina.bat jpda start
En Linux / Unix
$ catalina.sh jpda start

Más información ----> https://cwiki.apache.org/confluence/display/TOMCAT/Developing

Mohammad Adil
fuente
Gracias, esto me ayudó a configurar la opción de depuración en startup.sh. Edición de la última línea tomcat/bin/startup.sha exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@". Siempre me olvido de comenzar en modo de depuración y puedo guardar un reinicio de 5 minutos.
TomasZ.
51

Para las primeras variables establecidas en Windows:

set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket

para iniciar el servidor en modo de depuración:

%TOMCAT_HOME%/bin/catalina.bat jpda start

Para las primeras variables de exportación de Unix:

export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket

y para iniciar el servidor en modo de depuración:

%TOMCAT_HOME%/bin/catalina.sh jpda start
krzysiek.ste
fuente
um sí, aunque 8000 y dt_socket se mencionan como valores predeterminados en catalina.bat, en realidad debe configurarlos como en la publicación anterior: /
hello_earth
respuesta al punto y funcionó para mí +1. salvó mi día
Joginder Malik
25
  1. Desde su IDE, cree una configuración de depuración remota, configúrela para el puerto JPDA Tomcat predeterminado, que es el puerto 8000.

  2. Desde la línea de comando:

    Linux:

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

    Ventanas:

    cd apache-tomcat\bin
    set JPDA_SUSPEND=y
    catalina.bat jpda run
    
  3. Ejecute la configuración de depuración remota desde su IDE y Tomcat comenzará a ejecutarse y ahora podrá establecer puntos de interrupción en el IDE.

Nota:

La JPDA_SUSPEND=ylínea es opcional, es útil si desea que Apache Tomcat no comience su ejecución hasta que se complete el paso 3, útil si desea solucionar problemas de inicialización de aplicaciones.

Jaime Hablutzel
fuente
14

Una respuesta breve es agregar las siguientes opciones cuando se inicia la JVM.

JAVA_OPTS=" $JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8080"
Marcel Zebrowski
fuente
Cuando use JAVA_OPTS -Xdebug, no necesita iniciar catalina con jpda. De lo contrario, puede terminar con estoERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
lnarasimhan
4

Primero, navegue hasta el TOMCAT-HOME/bindirectorio.

Luego, ejecute lo siguiente en la línea de comandos:

catalina.bat jpda start

Si el servidor Tomcat se ejecuta en Linux, simplemente invoque el catalina.shprograma

catalina.sh jpda start

Es lo mismo para Tomcat 5.5 y Tomcat 6

Konstantin Yovkov
fuente
¿Puede decirme el equivalente de Tomcat 7.0?
RAS
3

Estas instrucciones me funcionaron en apache-tomcat-8.5.20 en mac os 10.13.3 usando jdk1.8.0_152:

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

Ahora conéctese al puerto 12321 desde IntelliJ / Eclipse y disfrute de la depuración remota.

usuario674669
fuente
2

Hay dos formas de ejecutar tomcat en modo de depuración

  1. Usando jdpa ejecutar

  2. Usando JAVA_OPTS

Primero configure el entorno. Luego inicie el servidor usando los siguientes comandos.

export JPDA_ADDRESS=8000

export JPDA_TRANSPORT=dt_socket

%TOMCAT_HOME%/bin/catalina.sh jpda start

sudo catalina.sh jpda start

consulte este artículo para obtener más información, esto es claramente definirlo

TharinduKetipe
fuente
1

Si desea hacer esto a través de PowerShell en Windows, esto funcionó para mí

$ env: JPDA_SUSPEND = "y"

$ env: JPDA_TRANSPORT = "dt_socket"

/ruta/a/tomcat/bin/catalina.bat inicio jpda

MarkyMarcasFunkyGrupo
fuente
0

Dentro de catalina.bat configure el puerto en el que desea iniciar el depurador

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

Entonces puede simplemente iniciar el depurador con

catalina.bat jpda 

Ahora, desde Eclipse o IDEA, seleccione la depuración remota y comience a depurar conectándose al puerto 9001.

Aniket Thakur
fuente