Diferencia entre revisiones de «Debug Remoto De Weblogic»

De Dos Ideas.
Saltar a: navegación, buscar
(JDeveloper])
(Configuración para Weblogic 9.x.)
 
(No se muestran 11 ediciones intermedias de 4 usuarios)
Línea 1: Línea 1:
 +
[[Category:WebLogic]]
 +
[[Category:IDE]]
 
Existe una forma de poder debuguear el [[WebLogic]] desde algún IDE. Esto lo posibilita una característica conocida como [[JPDA]] que las máquinas virtuales de Java (JVM) tienen.
 
Existe una forma de poder debuguear el [[WebLogic]] desde algún IDE. Esto lo posibilita una característica conocida como [[JPDA]] que las máquinas virtuales de Java (JVM) tienen.
  
Línea 15: Línea 17:
 
===Configuración para Weblogic 9.x.===
 
===Configuración para Weblogic 9.x.===
 
*Ubicar la carpeta bin del dominio en uso. Por ejemplo \bea\user_projects\domain\mydomain\bin.
 
*Ubicar la carpeta bin del dominio en uso. Por ejemplo \bea\user_projects\domain\mydomain\bin.
*Abrir el archivo startWebLogic.cmd para editar.
+
*Abrir el archivo setDomainEnv.cmd para editar. En la linea 80 entre (set PRODUCTION_MODE= y doExitFlag=false) setear:
*Sobre el final del archivo, localizar las dos lineas que comienzan:
+
set debugFlag=true
  %JAVA_HOME%\bin\java %JAVA_VM%
+
Iniciar weblogic. Deberia figurar la siguiente leyenda:
*Agregarle la variable %DEBUG_OPTS% de la siguiente forma:
+
Listening for transport dt_socket at address: 8453
%JAVA_HOME%\bin\java '''%DEBUG_OPTS%''' %JAVA_VM% %MEM_ARGS%...
+
 
 +
===Configuración para Weblogic 10.x.===
 +
Para iniciar WebLogic Server en modo debug, se necesita modificar el startWebLogic.cmd script. Ejemplo: <WLS-root>\wlserver_10.0\samples\domains\wl_server. <WLS-root> es el directorio en el que se instalo el weblogic.
 +
 
 +
En el startWebLogic.cmd script, añadir:
 +
 
 +
set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
 +
 
 +
El -XDebug  parametro habilita el debug.
 +
El -Xnoagent parametro desabilita el default sun.tools.debug agente debug.  
 +
El -Xrunjdwp parametro carga el JPDA refencia de la implementacion de JDWP.
 +
Debugging es hablitado en el puerto 4000.
 +
El protocolo JDWP es el protocolo usado en debug con el debugger remoto.
 +
 
 +
Iniciar el WebLogic Server con el startWebLogic.cmd script.
  
 
==Configurando el IDE==
 
==Configurando el IDE==
Línea 32: Línea 48:
 
#Click en el botón "New".
 
#Click en el botón "New".
 
#En la solapa "Connect" completen los datos:
 
#En la solapa "Connect" completen los datos:
**Connection Type: Standard (Socket Attach)
+
##Connection Type: Standard (Socket Attach)
**Host: el IP o nombre de su maquina
+
##Host: el IP o nombre de su maquina
**Port: 1044
+
##Port: 1044
 
#Click en el botón Debug. Eclipse debería conectarse a WebLogic y quedar listo para debug.
 
#Click en el botón Debug. Eclipse debería conectarse a WebLogic y quedar listo para debug.
  
 
=== [[NetBeans]] ===
 
=== [[NetBeans]] ===
#Ir al menú Run -> Attach Debugger
+
#Ir al menú Debug -> Attach Debugger
 
#Completar los datos del popup que aparece:
 
#Completar los datos del popup que aparece:
**Connector: !SocketAttach
+
##Connector: !SocketAttach
**Transport: dt_socket
+
##Transport: dt_socket
**Host: El IP o nombre de su maquina
+
##Host: El IP o nombre de su maquina
**Port: 1044
+
##Port: 1044
 
#Click en "Ok". NetBeans se debería conectar a WebLogic y quedar listo para debug.
 
#Click en "Ok". NetBeans se debería conectar a WebLogic y quedar listo para debug.
  
Línea 54: Línea 70:
 
#Seleccionar la opción Debugger -> Remote
 
#Seleccionar la opción Debugger -> Remote
 
#Completar los datos:
 
#Completar los datos:
**Protocol: Attach to JPDA
+
##Protocol: Attach to JPDA
**Host: el IP o nombre de la maquina
+
##Host: el IP o nombre de la maquina
**Port: 1044
+
##Port: 1044
 
#Aceptar las ventanas abiertas. JDeveloper está listo para debug.
 
#Aceptar las ventanas abiertas. JDeveloper está listo para debug.

Revisión actual del 18:00 19 jul 2010

Existe una forma de poder debuguear el WebLogic desde algún IDE. Esto lo posibilita una característica conocida como JPDA que las máquinas virtuales de Java (JVM) tienen.

Configurando el Weblogic

  • Setear la variable para debug:
set DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n

Configuración para Weblogic 8.x.

  • Ubicar el dominio en uso. Por ejemplo \bea\user_projects\domain\mydomain.
  • Abrir el archivo startWeblogic.cmd para editar.
  • Sobre el final del archivo, localizar esta línea:
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%...
  • Agregarle la variable %DEBUG_OPTS% de la siguiente forma:
%JAVA_HOME%\bin\java %DEBUG_OPTS% %JAVA_VM% %MEM_ARGS%...

Configuración para Weblogic 9.x.

  • Ubicar la carpeta bin del dominio en uso. Por ejemplo \bea\user_projects\domain\mydomain\bin.
  • Abrir el archivo setDomainEnv.cmd para editar. En la linea 80 entre (set PRODUCTION_MODE= y doExitFlag=false) setear:
set debugFlag=true

Iniciar weblogic. Deberia figurar la siguiente leyenda: Listening for transport dt_socket at address: 8453

Configuración para Weblogic 10.x.

Para iniciar WebLogic Server en modo debug, se necesita modificar el startWebLogic.cmd script. Ejemplo: <WLS-root>\wlserver_10.0\samples\domains\wl_server. <WLS-root> es el directorio en el que se instalo el weblogic.

En el startWebLogic.cmd script, añadir:

set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n

El -XDebug parametro habilita el debug. El -Xnoagent parametro desabilita el default sun.tools.debug agente debug. El -Xrunjdwp parametro carga el JPDA refencia de la implementacion de JDWP. Debugging es hablitado en el puerto 4000. El protocolo JDWP es el protocolo usado en debug con el debugger remoto.

Iniciar el WebLogic Server con el startWebLogic.cmd script.

Configurando el IDE

La idea es siempre la misma: conectar el debugger del IDE a la JVM de WebLogic. Esta tarea varia de acuerdo al IDE que se utilice. A continuación las instrucciones para algunos IDE.

En todos los casos, WebLogic tiene que estar levantado para que el IDE pueda conectarse. Para esto, ejecutar el script que se modifico en el paso anterior. Una vez que WebLogic inicie, sigan las instrucciones.

Eclipse

  1. Ir al menú Run -> Debug... (varia el nombre de acuerdo a la versión. se debe acceder a la configuración del debug).
  2. Seleccionar la opción de la izquierda "Remote Java Application".
  3. Click en el botón "New".
  4. En la solapa "Connect" completen los datos:
    1. Connection Type: Standard (Socket Attach)
    2. Host: el IP o nombre de su maquina
    3. Port: 1044
  5. Click en el botón Debug. Eclipse debería conectarse a WebLogic y quedar listo para debug.

NetBeans

  1. Ir al menú Debug -> Attach Debugger
  2. Completar los datos del popup que aparece:
    1. Connector: !SocketAttach
    2. Transport: dt_socket
    3. Host: El IP o nombre de su maquina
    4. Port: 1044
  3. Click en "Ok". NetBeans se debería conectar a WebLogic y quedar listo para debug.

JDeveloper

  1. Sobre el toolbar, ir al ícono de debug -> Manage Run Configurations...
  2. Seleccionar la categoría Run/Debug
  3. Doble-click en la configuración de debug Default (o la que se este usando)
  4. Seleccionar la opción Launch Settings
  5. Activar el checkbox "Remote Debugging and Profiling"
  6. Seleccionar la opción Debugger -> Remote
  7. Completar los datos:
    1. Protocol: Attach to JPDA
    2. Host: el IP o nombre de la maquina
    3. Port: 1044
  8. Aceptar las ventanas abiertas. JDeveloper está listo para debug.