To configure tomcat to allow remote debugging, start tomcat using the catalina startup script (from your tomcat home) instead of the normal startup script like so (tomcat must be stopped before you can change over):
set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket bin/catalina.bat jpda start
export JPDA_ADDRESS=8000 export JPDA_TRANSPORT=dt_socket bin/catalina.sh jpda start
We recommend adding this stuff to your startup script so that you are always running tomcat in debug mode.
- Open the startup script in (your_tomcat_home)/bin (WIN: startup.bat, UNIX: startup.sh)
- Add the following lines at the first blank line in the file (around line 8)
set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket
export JPDA_ADDRESS=8000 export JPDA_TRANSPORT=dt_socket
- Change the execute line at the end to include jpda start
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
- Run the startup script when starting tomcat to run tomcat in debug mode
If you're concerned about opening up the known port for debugging, you can change the port on which JPDA listens by setting the JPDA_ADDRESS environment variable to something else (e.g. 38000).
Once you have tomcat configured and started, you can connect to your running tomcat instance using a number of debugging tools. For example, Eclipse has a debugging view that can help you work with tomcat via remote control.