Have you ever wished you could debug your war project in Eclipse while it was deployed and running on JBoss? This is called remote debugging, and here’s how you set up to do it (on JBoss 4.2.2.GA running on Java 5, anyway):
- Make a backup copy of your current JBoss run.bat
- Open run.bat and find the lines that look like this:
rem JPDA options. Uncomment and modify as appropriate to enable remote debugging. rem set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS%
- Uncomment the second line, and save.
- Start Jboss. (It won’t do much until you connect a debugger to it.)
- In Eclipse, open your project, and on the toolbar click on the debugger bug arrow, then Open Debug Dialog.
- Choose Remote Java Application, right-click, New… and update the port to the address in the line you uncommented (possibly 8787).
- Click Debug
- Set a breakpoint somewhere in your code or a library that has source attached
- Exercise your project (via a web service, for instance) and when it hits one of your breakpoints, it will break in Eclipse.
Note to self: Avoid remote debugging for my own code — I should be adding log messages instead!