Debugging
Remote debugging
You can easily debug OpenCms within your IDE if it supports remote debugging. Your Servlet Container needs to be started with JPDA (Java Platform Debugger Architecture) support enabled. To achieve this for Tomcat, simply start it with
catalina.sh|bat jpda start
instead of
catalina.sh|bat start
For Tomcat, the jpda option enables the following startup options to the JVM:
-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n
Defaults:
- JPDA_TRANSPORT: dt_socket
- JPDA_ADDRESS: 8000
When Tomcat is started this way, you can attach your debugger in your IDE to the running Tomcat JVM process.
Eclipse setup
If you have the OpenCms source code in an Eclipse project you can easily set breakpoints and debug the running OpenCms.
Create a new debug configuration in Run/Debug.../Remote Java Application:
- enter a name,
- select the project which contains the OpenCms source code
- make sure the port is correct. (The defaults of Eclipse and Tomcat are identical so you normally do not have to customize it)
After that, set a breakpoint and run the debug configuration. Eclipse then attaches to the remote running Tomcat process and will show the current stack in the Debug perspective.
On linux make sure, Eclipse has all the necessary rights.