java eclipse ant debugging

Cómo depurar el código de Java cuando se usa una secuencia de comandos ANT en Eclipse



debugging (8)

(No pudo comentar la respuesta dada, así que tiene que hacer otra respuesta)

Me di cuenta de que al ejecutar Ant desde Eclipse, tendrás que agregar fork = "true" a la tarea <java> . Además, primero no estaba claro para mí cómo escribir jvmargs anidados, así que aquí va un ejemplo:

<java classname="..." fork="true"> <jvmarg value="-Xdebug" /> <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432" /> ... </java>

Tengo una clase Java y necesito depurarla (poner puntos de interrupción y continuar usando F6). Estoy usando una secuencia de comandos ANT para iniciar, construir, implementar y ejecutar el código. Estoy usando:

<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" debuglevel="lines,vars,source"> .......... </javac>

Pero cuando coloco el punto de interrupción en una línea en mi clase foo.java y ejecuto el script ant (la parte de ejecución, Right Click on run -> Debug As -> Ant Build), Eclipse no se detiene en esa línea de código.

¿Qué me estoy perdiendo?


En la tarea <java> ant, debe agregar dos parámetros jvm ( <jvmarg> IIRC) para activar la depuración:

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

Esto iniciará el programa Java con la depuración activada y el programa estará listo para aceptar conexiones de depurador en el puerto 5432. Luego debe usar la instalación de depuración remota de su IDE y dirigirla para que se conecte al puerto 5432.


Esto es para ayudar a las personas que se preguntan cómo depurar la aplicación web que usa y para crear e implementar. Esto es bastante frecuente en aplicaciones heredadas. Si el proyecto se inició como "Proyecto web dinámico" como el comienzo, seguir los pasos e incluso Ant no es necesario.

Establezca el punto de quiebre en su código.

Window -> Show View -> Others -> Servers

Agregue su servidor JBoss o Tomcat por ejemplo.

Haga clic derecho en el servidor y elija ''Depurar''.

Asegúrese de que depurar = "verdadero" se establece en el archivo de compilación de ant.


Pasos:

1) Configure el depurador Java remoto con el host local como nombre, la dirección del puerto como 8000 (o la dirección de puerto de su sistema que sea)

2) Cree un archivo por lotes y guárdelo en la carpeta bin de su tomcat (este paso es obligatorio cuando queremos depurar de forma remota los servidores en el mismo sistema).

en el archivo por lotes debe mantener esta línea:

establecer JPDA_ADDRESS = 8000

establecer JPDA_TRANSPORT = dt_socket

catalina.bat jpda start

después de esto, mantenga un punto de interrupción en su código java y depure este depurador remoto. funcionará.

Happy Coding !!


Yo también enfrenté este problema, hice los siguientes pasos para resolverlo.

  1. Pon las siguientes líneas en el archivo ANT

  2. Vaya a las configuraciones de depuración-> Aplicación Java remota-> Crear nuevo archivo de configuración con el nombre del proyecto, puerto = 5432 y el host es localhost y guárdelo.

  3. Ahora ejecuta tu build.xml usando el modo de depuración, entonces deberías ver en la consola que "Escuchando el transporte dt_socket en la dirección 5432"

  4. Ahora ejecuta el archivo de configuración de depuración que has configurado. Ahora su código de selenio se ejecutará usando el modo de depuración.

Espero que esto ayude.

Si todavía tienes problemas, házmelo saber para que pueda ayudarte.

Gracias



En Eclipse:

Toolbar > External Tool Configurations... > (select your existing ANT build or create new) > JRE tab

En "Argumentos VM", agregue:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y

Nuevamente Toolbar > Debug > Debug Configurations... > Remote Java Application > New

Name: Debug Ant Project: <Select your project where debug files are kept> Host: localhost Port: 8787

Ahora, en " Configuraciones de herramientas externas ", inicie " Tarea ANT " (que espera que se conecte el depurador de la aplicación Java remota), luego ejecute la " Ant de depuración " desde el icono de la barra de herramientas " Depurar ".


set ANT_OPTS=%ANT_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432

en Eclipse

Toolbar >> Run >> Debug Configurations >> + >>

Da los valores:

Name: Debug_Ant Project: active-eclipse-project Host:localhost Port:5432