Remote debugging Pluto's binary distribution or portlets deployed in Pluto

The Tomcat Development FAQ is the definitive authority on remote debugging in Tomcat, which is the basis for Pluto's current bundled binary distribution (see http://tomcat.apache.org/faq/development.html). I am adding a few more explicit details here.

Setup Tomcat/Pluto for Remote Debugging

  1. Add these statements to the top of catalina.bat in the bin directory

set JPDA_TRANSPORT=dt_socket

set JPDA_ADDRESS=8000

2. Start the binary distribution with the command line:

<TOMCAT_HOME>/catalina.bat jpda start

Remote Debugging in Eclipse

  1. Select the portlet (or portal component) you want to debug.

2. Right click and select Debug As -> Debug . . .

3. In the Debug dialog that appears, click on Remote Java Application on the left side of the Debug dialog and select New . . .

4. On the right side of the Debug dialog fill in the following:

Name: a unique name

Project: the Pluto source code project if you want to debug Pluto or your portlet project

Connection Type: Standard (Socket Attach)

Host: localhost (unless the Pluto server is somewhere else)

Port: 8000 (what you set as JPDA_ADDRESS above)

Allow termination of remote VM: leave this unchecked

5. Click Debug button

6. Set one or more breakpoints

7. Open up a web browser and browse to the portal (http://localhost:8080/pluto/portal) and login

8. Browse to a portal page that will trigger a breakpoint. The control will switch back to Eclipse in debug mode.

9. Debug away (step over/ step into, etc)!

10. Click on the Disconnect icon to terminate debugging. Restart the debugger by selecting the name of the connection set up in Step 3 from the Debug icon on the toolbar.

Remote Debugging in IDEA

Click on Edit Configurations -> Add New Configuration -> Remote -> Enter host(localhost)/port(8000).

Eventually disable "Make" before running. That's it - rest works just like normal debugging.

I haven't found a way to start pluto from inside IDEA, though.

Remote Debugging in Net Beans

Please contribute

  • No labels