Remote debugging Tomcat with Eclipse
Friday, February 13th, 2009Una delle attività che mi capita spesso nelle mie attività lavorative è quella di sviluppare componenti JAVA che poi vengono eseguiti lato server su webapps.
Siccome in certi casi ho avuto necessità di poter fare il debug direttamente sui Tomcat di sviluppo, invece di farlo in locale.
Per prima cosa, sul script di avvio di tomcat, cercare la riga
set JAVA_OPTS= e accodare la seguente stringa
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
A questo punto viene creato un socket con prodocollo jdwp sulla porta 8000 collegato a Tomcat.
Ora possiamo andare in Eclipse e selezionare il pulsante debug e nel menu di discesa selezionare la voce debug:
comparirà una popup e settare come si vede nella immagine allegata

A questo punto lanciando il debug, Eclipse potrà collegarsi a Tomcat e sarà possibile debuggare sia le classi backweb come servlet e simili, sia le pagine jsp.
Nota, lo stesso concetto può essere applicato non solo su macchine con Tomcat, ma anche su altri application server come Resin, WebSphere… l’importante è sapere dove configurare per attivare la modalità di debug e specificare la porta ed il protocollo di connessione.