Una gran utilidad para poder depurar nuestro codigo tanto en local como en remoto es poner el servidor de aplicaciones en modo debug, en este post veremos varias opciones para distintos entornos.

Opciones:

1. Configuracion eclipse

2. Modo debug en Windows con Tomcat arrancado como servicio

3. Modo debug en Winwdos con Tomcat


1. Configuración generica para eclipse

  • Debemos ir a “Debug Configuration”eclipse_debug_1
  • Los parametros a configurar son los siguientes:
  1. Name: Nombre que queremos dar a la configuracion
  2. Project: Proyecto sobre el que vamos hacer debug, se pueden seleccionar varios proyectos
  3. Connection Type: Standard
  4. Host: Host donde estar el servidor, en caso de de ser la misma maquina podemos poner localhost
  5. Port: Puerto que hemos configurado para escuchar en modo debug (En el tutorial utilizaremos el puerto 8000)

eclipse_debug_2

2. Modo debug en Windows con tomcat arrancado como servicio

  • Parar el servicio
  • Ir al catalina_home/bin.
  • Encontrar un fichero llamado tomcat6w.exe (Nota: el nombre de este fichero puede cambiar).
  • Ejecutar el fichero como administrador
  • Se abrira un popup con propiedades, ir a la pestaña “Java”

tomcat_debug

  • Debemos añadir las siguientes lineas (El puerto que se utilizara en este caso sera el 8000):
-Xdebug -Xnoagent -Djava.compiler=NONE
-agentlib:jdwp=transport=dt_socket, server=y, address=8000, suspend=n
  • Arrancar nuevamente el servicio.
  • En log deberiamos ver el siguiente mensaje:
Commons Daemon procrun stdout initializedListening for transport dt_socket at address: 8000

 3. Modo debug en Windows con tomcat

Este es el modo mas nornal de iniciar el servido r de aplicaciones y el mas sencillo de configurar

  • Parar el servidor
  • Editar el fichero catalina.bat que se encuentra en “\tomcat-6.0.18\bin”
  • Debemos modificar o añadir en caso de que no exista la propiedad set DEBUG_OPTS
set DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8003,server=y,suspend=n
  • Arrancar el servidor (El puerto que se utilizara en este caso sera el 8000)