13.4. Enabling Remote Debugging
Problem
You want to debug your Struts application running on a remote server.
Solution
Configure the JVM running your application server to use the
Java Platform
Debugger Architecture (JPDA). You will need to add the following
options to the java
command that starts your
application server.
JDK 1.3
-classic -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y
JDK 1.4
-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y
You can use any IDE or tool that supports JPDA debugging such as Eclipse, IntelliJ IDEA, and JSWAT.
Discussion
The JPDA has made debugging Java applications much easier: You can
use any debugging tool you want independently of the application
being debugged. JPDA allows you to debug a Java application running
in a separate JVM on a remote server on your network. Your local JVM,
running the debugger, connects to the remote JVM across the network
using the host name and a known port. In the Solution, the
address
specifies the port.
This approach works well when the two computers are the same—for example, your desktop machine. JPDA permits you to have two JVMs—one for your IDE or debugger and one for the application server—that can work together. You no longer have to run the application server and your IDE all within the same process.
If you're using Tomcat as your application server, debugging is easier. Tomcat's startup scripts include the JPDA options shown in the Solution. By ...
Get Jakarta Struts Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.