jsadebugd man page
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 ]
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(1) 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.
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 directory:
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 Ctrl+C.
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 PATH=%JDK_HOME%\jre\bin\client;%PATH%.
jinfo(1), jinfo-java-9(1), jmap(1), jmap-java-9(1), jstack(1), jstack-java-9(1).