2009-02-05 17 views

Respuesta

97

¿Quieres decir remote debug JBoss de Eclipse?

De Configuring Eclipse for Remote Debugging:

Establecer la variable JAVA_OPTS como sigue:

set JAVA_OPTS= -Xdebug -Xnoagent 
    -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n %JAVA_OPTS% 

o:

JAVA_OPTS="-Xdebug -Xnoagent 
    -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n $JAVA_OPTS" 

En la depuración f rame, seleccione el nodo Remote Java Application.

En Propiedades de conexión, especifique localhost como el host y especifique el puerto como el puerto que se especificó en el script de ejecución por lotes del servidor JBoss, 8787.

JBoss Debug

+1

No estoy seguro si la adición de un comentario a una respuesta este viejo conseguirá leer, pero aquí va de todos modos ! Utilicé esta configuración para depurar aplicaciones en mi servidor JBOSS a través de Eclipse y está funcionando bien: puedo establecer puntos de interrupción en Eclipse e interceptar solicitudes en el servidor. Sin embargo, cuando vuelvo a compilar una aplicación e implementarla en caliente en JBOSS, la nueva versión de la aplicación se ejecuta con éxito, pero ya no puedo interceptar el procesamiento a través de Eclipse. Los puntos de ruptura son ignorados. ¿Es este comportamiento esperado? ¿Debo reiniciar JBOSS cada vez que quiero depurar una aplicación redistribuida? – CodeClimber

+1

@dairemac: al menos lo leeré;) Gracias por este comentario. No tengo la posibilidad de reproducir directamente esta configuración específica, pero sospecho que el proceso de monitorización de las aplicaciones finaliza durante la implementación en caliente, lo que significaría reiniciar la sesión de JBossDebug. – VonC

+0

@VonC: He realizado los cambios en el archivo run.bat y estoy tratando de reiniciar el servidor jboss pero me está costando mucho tiempo en comparación con el modo normal, ¿alguna sugerencia sobre qué podría mejorar el tiempo de inicio? – Rachel

12

Si configura un servidor JBoss mediante WebTools Eclipse, simplemente puede iniciar el servidor en modo de depuración (botón de depuración en los servidores de vista). Esto le permitirá establecer puntos de interrupción en la aplicación que se ejecuta dentro de JBoss.

+0

Eso es cierto, y en duda (ya que no sé si esto se trata de la depuración remota o local): +1 – VonC

12

VonC mencionó en su respuesta cómo depurar remotamente desde Eclipse.

Me gustaría agregar que las configuraciones JAVA_OPTS ya están en run.conf.bat. Sólo tienes que descomentarlas:

en JBOSS_HOME\bin\run.conf.bat en Windows:

rem # Sample JPDA settings for remote socket debugging 
set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" 

La versión de Linux es similar y está situado en JBOSS_HOME/bin/run.conf

+0

Descomponiendo esa línea funciona perfectamente, y me parece que es el mejor lugar para agregar la depuración JAVA_OPTS – chim

0

Aquí, si desea depurar directamente al servidor, entonces puede uso:

1.) de Windows ->

2.) Mostrar vista -> Servidor: haga clic con el botón derecho en el servidor y luego ejecute En modo de depuración.

0

es necesario definir una aplicación Java remota en las configuraciones de depuración de Eclipse:

Abrir las configuraciones de depuración (Proyecto selecto, a continuación, se abren desde las configuraciones de menú de ejecución/depuración) Seleccione Aplicación Java remota en el árbol de la izquierda y pulse Botón "Nuevo" En el panel derecho, seleccione su proyecto de aplicación web e ingrese 8787 en el campo de puerto. Aquí hay un enlace a una descripción detallada de este proceso.

Cuando inicia la configuración de depuración remota, Eclipse se conectará al proceso de JBoss. Si tiene éxito, la vista de depuración mostrará los hilos de JBoss. También hay un ícono de desconexión en la barra de herramientas/menú para detener la depuración remota.

0

Lo que @VonC dice es correcto, pero puede poner los comandos para establecer la depuración directamente en VM Argumentos en jBoss Ejecutar.

Para ello, abre servidor jBoss dentro Eclipse, vaya a abrir la configuración de lanzamiento y poner esto en VM argumentos textbox: vm args

Cuestiones relacionadas