Google

Locations of visitors to this page

Hosted by:
SourceForge

Application debugging
Application debugging
Debugging Your Java Application using the Wrapper

The Wrapper offers some simple features which will aid you in tracking down any problems that you may be having with your application.

Requesting a Thread Dump

The Wrapper contains support for requesting that the JVM dump out its current state. The exact contents of the information will vary depending on which JVM is being run.

The Sun JVMs will display the stack traces of all running threads to the console.

IBM JVMs provide even more useful information. The stack traces of all threads as well as object monitor states are dumped to the console. In addition a file is created in the current directory which in addition to the information shown in the console also contains useful information about the system including all of the environment variables.

A Thread Dump can be requested on Windows systems by pressing CTRL-BREAK or on Linux systems by pressing CTRL-\. Invoking a thread dump does not affect the JVM. It will continue to run normally.

The startup for Linux and Solaris provided with the Wrapper installation, launch the Wrapper in a background thread. To request a thread dump using these scripts, simply rerun the script specifying the 'dump' parameter.

Enabling Debug Logging

Many configuration problems can be quickly resolved by setting the log level of the console output to DEBUG. The full command used to launch Java as well as version information on the JVM being run will then be displayed in the console. See the Logging Configuration Properties section for more information.



User Comments

If you notice something that is incorrect, missing, or simply feel that some part of this page could be explained better, feel free to log in and add a comment. You will need to register before you can log on.

Email:
Password:
by tom hottinger (2005/10/10 18:21:41 JST from 212.94.36.117)
Gravatar

Another usefull Debugging technique worked well for me:

Step one: Configure the JVM in the propertiesfile to listen on a remotedebugging port:

# Java Additional Parameters for debugging
wrapper.java.additional.1=-Xdebug
wrapper.java.additional.2=-Xnoagent
#wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n
# or:
wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y

If you enable suspend, the JVM stops and waits for a connection before the serviceapplication starts. If you disable it, the service/application runs normal until a debug client connects and sends breakpoints.

Step two: Connect with your favourite debug client (eclipse in my case) and start debugging.

last modified: