jsadebugd Man page

jsadebugd Troubleshooting Tools jsadebugd


jsadebugd – Attaches to a Java process or core file and acts as a debug
server. This command is experimental and unsupported.


jsadebugd pid [ server-id ]

jsadebugd executable core [ server-id ]

pid The process ID of the process to which the debug server
attaches. The process must be a Java process. To get a list of
Java processes running on a machine, use the jps command. At
most one instance of the debug server can be attached to a
single process.

The Java executable from which the core dump was produced.

core The core file to which the debug server should attach.

An optional unique ID that is needed when multiple debug servers
are started on the same machine. This ID must be used by remote
clients to identify the particular debug server to which to
attach. Within a single machine, this ID must be unique.


The jsadebugd command attaches to a Java process or core file and acts
as a debug server. Remote clients such as jstack, jmap, and jinfo can
attach to the server through Java Remote Method Invocation (RMI).
Before you start the jsadebugd command, start the RMI registry with the
rmiregistry command as follows where $JAVA_HOME is the JDK installation

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

If the RMI registry was not started, then the jsadebugd command starts
an RMI registry in a standard (1099) port internally. The debug server
can be stopped by sending a SIGINT to it. To send a SIGINT press

Note: This utility is unsupported and may or may not be available in
future releases of the JDK. In Windows Systems where dbgeng.dll is not
present, Debugging Tools For Windows must be installed to have these
tools working. The 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


· jinfo

· jmap

· jps

· jstack

· rmiregistry

JDK 8 21 November 2013 jsadebugd