webapp unable the for debug application eclipse tomcat

eclipse - unable - tomcat debug port



DepuraciĆ³n remota de Tomcat con Eclipse (14)

Parece que no puedo depurar la aplicación Tomcat a través de Eclipse. He establecido

CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

y luego ejecuto bin/catalina.sh , donde veo salida diciendo que está escuchando dt_socket en el port 8000 . Pero cada vez que trato de conectarme al puerto 8000 en Eclipse (agregando una entrada en el menú de la aplicación java remota), se queja de una conexión rechazada. ¿Algunas ideas?


¿Puedes verificar si esto funciona?

JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" catalina.sh jpda start


En el archivo catalina.bat , modifique el siguiente.

  • Paso 1: CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

  • Paso 2: JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"

  • Paso 3: Ejecute Tomcat desde el símbolo del sistema como se muestra a continuación: catalina.sh jpda start

  • Paso 4: luego en el eclipse crea una configuración de depuración

    1. Dale cualquier nombre para la configuración.
    2. Dale el project name del project name .
    3. Proporcione el tipo de conexión como Standard(Socket Attach)
    4. host como localhost
    5. puerto como 8000 (o cualquier número de puerto, pero debería ser el mismo en otros lugares también).

En el directorio bin de tomcat donde se encuentran catalina.bat o .sh (también conocido como {CATALINA_BASE} / bin), edite (cree si no está allí):

setenv.bat/.sh

Agregue la siguiente línea:

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

Eso es todo lo que necesita hacer, no necesita editar el archivo catalina.bat (o .sh ).

Vea los comentarios en catalina.bat o catalina.sh .

Puede que tenga que ajustar la sintaxis para su entorno / situación particular. Por ejemplo, si ya tiene CATALINA_OPTS definido, puede hacer algo como esto (en un entorno de Windows):

set CATALINA_OPTS=%CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=n

Para depurar desde Eclipse:

Ejecutar-> Configuraciones de depuración ...-> Aplicación Java remota-> Nuevo

y especifique un nombre, el proyecto que está depurando, y el host de tomcat y el puerto de depuración especificados anteriormente.


En primer lugar, si abre catalina.bat con el editor de texto, verá que: "No establezca las variables en este script ..." Por lo tanto, nunca lo cambie en ese script, en su lugar puede hacer los siguientes pasos:

  1. Te aconseja crear un nuevo archivo bat con el nombre "setenv.bat".
  2. Luego establece 2 variables en ese archivo bat como por ejemplo:

    establecer CATALINA_OPTS = "- Xdebug -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = n"

    set JPDA_OPTS = "- agentlib: jdwp = transport = dt_socket, address = 8000, server = y, suspend = n"

  3. Por último ejecuta eso en cmd que: "catalina.bat jpda start"

  4. En IDE, cree una configuración de depuración remota y establezca el host en la IP del servidor relacionado y el puerto en 8000.


En tomcat 7, catalina.sh tiene este código:

if [ "$1" = "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 implica que puede configurar JPDA con:

export JPDA_TRANSPORT=dt_socket export JPDA_ADDRESS=8000 export JPDA_SUSPEND=n

O con:

JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"

Y finalmente usa:

catalina.sh jpda start

Saludos


Estaba solucionando este problema al ejecutar Tomcat dentro de un contenedor Docker. Para solucionar esto, asegúrese de agregar el argumento ''-p 8000: 8000'' en su comando de ejecución de la ventana acoplable para exponer este puerto a su máquina local. Por supuesto, necesitará el archivo setenv.sh en su $ {CATALINA_HOME} / bin / dentro de su contenedor también.


Modificar catalina.bat para agregar

set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"

y

CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

Opcional: agregue la línea siguiente para ejecutar el modo de depuración de forma predeterminada cuando ejecuta startup.bat

call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%

Eclipse o STS seleccionan la configuración de depuración, haga clic derecho -> nuevo

connection type -> Standard socket Attach Port -> 8000 (as given in the CATALINA_OPTS) Host -> localhost or IP address


No funcionó para mí modificar el archivo startup.bat con CATALINA_OPTS Y JPDA_OPTS, pero agregarlos a catalina.bat

  1. Modificar 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"

  1. Modificar startup.bat para incluir jpda

cambiar llamada "% EJECUTABLE%" start% CMD_LINE_ARGS% a

llamar a "% EJECUTABLE%" jpda start% CMD_LINE_ARGS%

A continuación, configure la aplicación Java remota en sus configuraciones de depuración en Eclipse.


Para apache-tomcat-8.5.28

modifique JDPA_OPTS como a continuación y luego ejecute como 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"


Para la versión apache-tomcat-8.5.28 simplemente haz esto,

catalina.bat jpda start

Como la configuración predeterminada ya está configurada para nosotros en catalina.bat como

si no "% JPDA_OPTS%" == "" goto getJpdaOpts establecido JPDA_OPTS = -agentlib: jdwp = transporte =% JPDA_TRANSPORT%, dirección =% JPDA_ADDRESS%, servidor = y, suspend =% JPDA_SUSPEND%

Entonces no hay necesidad de ninguna otra configuración. Y cuando ejecuta el comando catalina.bat jpda start, puede ver que se abre el puerto de depuración 8000.


Pasé algún tiempo en esto para obtener la información correcta.

Así que aquí está la información detallada paso a paso.

Medio ambiente: Windows 7

Versión de TomCat: 7.0

IDE: Eclipse

Las configuraciones que se agregarán para habilitar la depuración remota con en tomcat es

-Xdebug -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n

No recomiendo la configuración anterior para entornos que no sean Windows. Para agregar la configuración anterior, haga doble clic en el servidor Tomcat, que estará disponible en la vista del servidor. Encuentra la captura de pantalla siguiente.

Ahora agregue la configuración de entorno de tiempo de ejecución anterior a tomcat. Para esta verificación debajo de la captura de pantalla.

Ahora, acceda a la pestaña Arugmentos en Editar propiedades de configuración de inicio como se muestra en la captura de pantalla siguiente.

La sección GoTo VM arguments agrega estas líneas.

-Xdebug

-agentlib: jdwp = transport = dt_socket, address = 8000, server = y, suspend = n

Ahora llegó al botón de depuración disponible en la barra de herramientas de eclipse.

En las configuraciones de depuración, busque "Aplicación Java remota" y haga doble clic en ella.

En el campo Nombre, ingrese el nombre que desee.

Desde el campo del proyecto utilizando el botón de exploración, seleccione el proyecto para el que desea realizar la depuración remota.

El nombre de host no es más que la dirección del host. Aquí estoy trabajando localmente por lo que es "localhost".

Por último, la columna Puerto el valor debe ser 8000. Además de los campos de texto Nombre y Proyecto, las otras dos columnas Host y puerto se rellenarán por eclipse si no hacen que tenga los mismos valores que se mencionaron. Comprobar la captura de pantalla para obtener información.

Ahora haga clic derecho en TomcatServer en la consola del servidor seleccione Agregar y quitar desde el menú contextual. Desde este diálogo, puede agregar el proyecto al servidor.

Ahora ejecuta el servidor de Tomcat.

Ahora ejecute TomCatDebugConfiguration desde Debug Tool.

Último navegador interno o externo abierto y ejecuta tu proyecto. Si el control de ejecución alcanzó los puntos de quiebre, el eclipse solicitará la perspectiva de depuración.


Permítanme compartir la forma simple de habilitar el modo de depuración remota en tomcat7 con eclipse (Windows).

Paso 1: abrir el archivo bin / startup.bat
Paso 2: agregue las líneas a continuación para depurar con la opción JDPA (debería ser la línea de inicio del archivo)

set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket

Paso 3: en el mismo archivo ... vaya al final del archivo modifique esta línea -

call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% instead of line call "%EXECUTABLE%" start %CMD_LINE_ARGS%

paso 4: entonces simplemente ejecuta bin> startup.bat (entonces ahora tu servidor tomcat se ejecutó en modo remoto con el puerto 8000).

paso 5: después de eso, permitamos conectar su proyecto fuente por eclipse IDE con el cliente remoto.

Paso 6: en el IDE de Eclipse, vaya a "configuración de depuración"

paso7: haga clic en "aplicación Java remota" y en ese clic "Nuevo"

paso8. en la pestaña "Conectar" establece el valor del parámetro

project= your source project connection Type: standard (socket attached) host: localhost port:8000

paso 9: haz clic en aplicar y depurar.

así que finalmente su cliente remoto de eclipse está conectado con el servidor de ejecución de tomcat (modo de depuración).

Espero que este enfoque pueda ser de ayuda.

Saludos..


Si todavía no funciona todo lo anterior, siempre puede agregar al guión

set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"


Simplemente ejecute ./catalina.sh jpda start (forks) o ./catalina.sh jpda run (no se bifurca, no se menciona en la ayuda). Todas las opciones mencionadas aquí tienen valores predeterminados.