JHSDB(1)

NAME

jhsdb - attach to a Java process or launch a postmortem debugger to analyze the content of a core dump from a crashed Java Virtual Machine (JVM)

SYNOPSIS

jhsdb clhsdb [--pid pid | --exe executable --core coredump]

jhsdb hsdb [--pid pid | --exe executable --core coredump]

jhsdb debugd (--pid pid | --exe executable --core coredump) [options]

jhsdb jstack (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jmap (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jinfo (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jsnap (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

pid The process ID to which the jhsdb tool should attach. The process must be a Java process. To get a list of Java processes running on a machine, use the ps command or, if the JVM processes are not running in a separate docker instance, the jps command.

    Note: JDK 10 has added support for using the Attach API when attaching to Java processes running in a separate docker process. However, the jps command will not list the JVM processes that are running in a separate docker instance. If you are trying to connect a Linux host with a Virtual Machine that is in a docker container, you must use tools such as ps to look up the PID of the JVM.

executable
    The Java executable file from which the core dump was produced.

coredump
    The core file to which the jhsdb tool should attach.

[server-id@]debugd-host
    An optional server ID and the address of the remote debug server (debugd).

options
    The command-line options for a jhsdb mode. See Options for the debugd Mode, Options for the jstack Mode, Options for the jmap Mode, Options for the jinfo Mode, and Options for the jsnap Mode.

Note:

Either the pid or the pair of executable and core files or the [server-id@]debugd-host must be provided for debugd, jstack, jmap, jinfo and jsnap modes.

DESCRIPTION

You can use the jhsdb tool to attach to a Java process or to launch a postmortem debugger to analyze the content of a core-dump from a crashed Java Virtual Machine (JVM). This command is experimental and unsupported.

Note:

Attaching the jhsdb tool to a live process will cause the process to hang and the process will probably crash when the debugger detaches.

The jhsdb tool can be launched in any one of the following modes:

jhsdb clhsdb
    Starts the interactive command-line debugger.

jhsdb hsdb
    Starts the interactive GUI debugger.

jhsdb debugd
    Starts the remote debug server.

jhsdb jstack
    Prints stack and locks information.

jhsdb jmap
    Prints heap information.

jhsdb jinfo
    Prints basic JVM information.

jhsdb jsnap
    Prints performance counter information.

jhsdb command --help
    Displays the options available for the command.

OPTIONS FOR THE DEBUGD MODE

--serverid server-id
    An optional unique ID for this debug server. This is required if multiple debug servers are run on the same machine.

OPTIONS FOR THE JINFO MODE

--flags
    Prints the VM flags.

--sysprops
    Prints the Java system properties.

no option
    Prints the VM flags and the Java system properties.

OPTIONS FOR THE JMAP MODE

no option
    Prints the same information as Solaris pmap.

--heap
    Prints the java heap summary.

--binaryheap
    Dumps the java heap in hprof binary format.

--dumpfile name
    The name of the dumpfile.

--histo
    Prints the histogram of java object heap.

--clstats
    Prints the class loader statistics.

--finalizerinfo
    Prints the information on objects awaiting finalization.

OPTIONS FOR THE JSTACK MODE

--locks
    Prints the java.util.concurrent locks information.

--mixed
    Attempts to print both java and native frames if the platform allows it.

OPTIONS FOR THE JSNAP MODE

--all
    Prints all performance counters.