jstack(1)                   General Commands Manual                  jstack(1)



Name
       jstack - Stack Trace


SYNOPSIS
       jstack [ option ] pid
       jstack [ option ] executable core
       jstack [ option ] [server-id@]remote-hostname-or-IP


PARAMETERS
       Options  are mutually exclusive. Option, if used, should follow immedi-
       ately after the command name. See OPTIONS.

          pid
             process id for which the  stack  trace  is  to  be  printed.  The
             process  must  be a Java process. To get a list of Java processes
             running on a machine, jps(1) may be used.


          executable
             Java executable from which the core dump was produced.

          core
             core file for which the stack trace is to be printed.

          remote-hostname-or-IP
             remote debug server's (see jsadebugd(1)) hostname or IP address.

          server-id
             optional unique id, if multiple debug servers are running on  the
             same remote host.


DESCRIPTION
       jstack  prints  Java  stack  traces  of  Java  threads for a given Java
       process or core file or a remote debug server. For each Java frame, the
       full  class name, method name, 'bci' (byte code index) and line number,
       if available, are printed. With the -m option, jstack prints both  Java
       and native frames of all threads along with the 'pc' (program counter).
       For each native frame, the closest native symbol to 'pc', if available,
       is printed. C++ mangled names are not demangled. To demangle C++ names,
       the output of this command may  be  piped  to  c++filt.  If  the  given
       process  is  running on a 64-bit VM, you may need to specify the -J-d64
       option, e.g.:


       jstack -J-d64 -m pid


       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%

OPTIONS
          -F Force a stack dump when 'jstack [-l] pid' does not respond.

          -l Long  listing.  Prints additional information about locks such as
             list of owned java.util.concurrent ownable synchronizers @
             http://docs.oracle.com/javase/7/docs/api/java/util/concur-
             rent/locks/AbstractOwnableSynchronizer.html.

          -m prints mixed mode (both Java and native C/C++ frames) stack
             trace.

          -h prints a help message.

          -help
             prints a help message


SEE ALSO
          o pstack(1)

          o c++filt(1)

          o jps(1)

          o jsadebugd(1)


KNOWN BUGS
       Mixed mode stack trace, the -m option, does not work with the remote
       debug server.

                                  18 Jul 2013                        jstack(1)
