jsadebugd-java-1.7.0-openjdk- (1) - Linux Manuals


jsadebugd - Serviceability Agent Debug Daemon


jsadebugd pid [ server-id ]
jsadebugd executable core [ server-id ]


process id of the process to which the debug server should attach. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) may be used. At most one instance of the debug server may be attached to a single process.
Java executable from which the core dump was produced
Core file to which the debug server should attach.
Optional unique id, needed if multiple debug servers are started on the same machine. This ID must be used by remote clients to identify the particular debug server to attach. Within a single machine, this ID must be unique.


jsadebugd attaches to a Java process or core file and acts as a debug server. Remote clients such as jstack(1), jmap(1), and jinfo(1) can attach to the server using Java Remote Method Invocation (RMI). Before starting jsadebugd, rmiregistry @ http://docs.oracle.com/javase/7/docs/technotes/tools/index.html#rmi must be started with:

rmiregistry -J-Xbootclasspath/p:$JAVA_HOME/lib/sajdi.jar

where $JAVA_HOME is the JDK installation directory. If rmiregistry was not started, jsadebugd will start an rmiregistry in a standard (1099) port internally. Debug server may be stopped by sending SIGINT (pressing Ctrl-C) to it.

NOTE - This utility is unsupported and may or may not be available in future versions of the JDK. In Windows Systems where dbgeng.dll is not present, 'Debugging Tools For Windows' needs to be installed to have these tools working. Also, PATH environment variable should contain the location of jvm.dll used by the target process or the location from which the Crash Dump file was produced.

For example, set PATH=<jdk>\jre\bin\client;%PATH%