3789983e89
Reviewed-by: darcy, ihse
138 lines
5.3 KiB
Groff
138 lines
5.3 KiB
Groff
'\" t
|
|
.\" Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
.\"
|
|
.\" This code is free software; you can redistribute it and/or modify it
|
|
.\" under the terms of the GNU General Public License version 2 only, as
|
|
.\" published by the Free Software Foundation.
|
|
.\"
|
|
.\" This code is distributed in the hope that it will be useful, but WITHOUT
|
|
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
.\" version 2 for more details (a copy is included in the LICENSE file that
|
|
.\" accompanied this code).
|
|
.\"
|
|
.\" You should have received a copy of the GNU General Public License version
|
|
.\" 2 along with this work; if not, write to the Free Software Foundation,
|
|
.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
.\"
|
|
.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
.\" or visit www.oracle.com if you need additional information or have any
|
|
.\" questions.
|
|
.\"
|
|
.\" Arch: generic
|
|
.\" Software: JDK 8
|
|
.\" Date: 21 November 2013
|
|
.\" SectDesc: Troubleshooting Tools
|
|
.\" Title: jstack.1
|
|
.\"
|
|
.if n .pl 99999
|
|
.TH jstack 1 "21 November 2013" "JDK 8" "Troubleshooting Tools"
|
|
.\" -----------------------------------------------------------------
|
|
.\" * Define some portability stuff
|
|
.\" -----------------------------------------------------------------
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.\" http://bugs.debian.org/507673
|
|
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\" -----------------------------------------------------------------
|
|
.\" * set default formatting
|
|
.\" -----------------------------------------------------------------
|
|
.\" disable hyphenation
|
|
.nh
|
|
.\" disable justification (adjust text to left margin only)
|
|
.ad l
|
|
.\" -----------------------------------------------------------------
|
|
.\" * MAIN CONTENT STARTS HERE *
|
|
.\" -----------------------------------------------------------------
|
|
|
|
.SH NAME
|
|
jstack \- Prints Java thread stack traces for a Java process, core file, or remote debug server\&. This command is experimental and unsupported\&.
|
|
.SH SYNOPSIS
|
|
.sp
|
|
.nf
|
|
|
|
\fBjstack\fR [ \fIoptions\fR ] \fIpid\fR
|
|
.fi
|
|
.nf
|
|
|
|
\fBjstack\fR [ \fIoptions\fR ] \fIexecutable\fR \fIcore\fR
|
|
.fi
|
|
.nf
|
|
|
|
\fBjstack\fR [ \fIoptions\fR ] [ \fIserver\-id\fR@ ] \fIremote\-hostname\-or\-IP\fR
|
|
.fi
|
|
.sp
|
|
.TP
|
|
\fIoptions\fR
|
|
The command-line options\&. See Options\&.
|
|
.TP
|
|
\fIpid\fR
|
|
The process ID for which the stack trace is printed\&. The process must be a Java process\&. To get a list of Java processes running on a machine, use the jps(1) command\&.
|
|
.TP
|
|
\fIexecutable\fR
|
|
The Java executable from which the core dump was produced\&.
|
|
.TP
|
|
\fIcore\fR
|
|
The core file for which the stack trace is to be printed\&.
|
|
.TP
|
|
\fIremote-hostname-or-IP\fR
|
|
The remote debug server \f3hostname\fR or \f3IP\fR address\&. See jsadebugd(1)\&.
|
|
.TP
|
|
\fIserver-id\fR
|
|
An optional unique ID to use when multiple debug servers are running on the same remote host\&.
|
|
.SH DESCRIPTION
|
|
The \f3jstack\fR command prints Java stack traces of Java threads for a specified Java process, core file, or remote debug server\&. For each Java frame, the full class name, method name, byte code index (BCI), and line number, when available, are printed\&. With the \f3-m\fR option, the \f3jstack\fR command prints both Java and native frames of all threads with the program counter (PC)\&. For each native frame, the closest native symbol to PC, when available, is printed\&. C++ mangled names are not demangled\&. To demangle C++ names, the output of this command can be piped to \f3c++filt\fR\&. When the specified process is running on a 64-bit Java Virtual Machine, you might need to specify the \f3-J-d64\fR option, for example: \f3jstack -J-d64 -m pid\fR\&.
|
|
.PP
|
|
\fINote:\fR This utility is unsupported and might not be available in future release of the JDK\&. In Windows Systems where the dbgeng\&.dll file is not present, Debugging Tools For Windows must be installed so these tools work\&. The \f3PATH\fR environment variable needs to contain the location of the jvm\&.dll that is used by the target process, or the location from which the crash dump file was produced\&. For example:
|
|
.sp
|
|
.nf
|
|
\f3set PATH=<jdk>\ejre\ebin\eclient;%PATH%\fP
|
|
.fi
|
|
.nf
|
|
\f3\fP
|
|
.fi
|
|
.sp
|
|
.SH OPTIONS
|
|
.TP
|
|
-F
|
|
.br
|
|
Force a stack dump when \f3jstack\fR [\f3-l\fR] \f3pid\fR does not respond\&.
|
|
.TP
|
|
-l
|
|
.br
|
|
Long listing\&. Prints additional information about locks such as a list of owned \f3java\&.util\&.concurrent\fR ownable synchronizers\&. See the \f3AbstractOwnableSynchronizer\fR class description at http://docs\&.oracle\&.com/javase/8/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer\&.html
|
|
.TP
|
|
-m
|
|
.br
|
|
Prints a mixed mode stack trace that has both Java and native C/C++ frames\&.
|
|
.TP
|
|
-h
|
|
.br
|
|
Prints a help message\&.
|
|
.TP
|
|
-help
|
|
.br
|
|
Prints a help message\&.
|
|
.SH KNOWN\ BUGS
|
|
In mixed mode stack trace, the \f3-m\fR option does not work with the remote debug server\&.
|
|
.SH SEE\ ALSO
|
|
.TP 0.2i
|
|
\(bu
|
|
pstack(1)
|
|
.TP 0.2i
|
|
\(bu
|
|
C++filt(1)
|
|
.TP 0.2i
|
|
\(bu
|
|
jps(1)
|
|
.TP 0.2i
|
|
\(bu
|
|
jsadebugd(1)
|
|
.RE
|
|
.br
|
|
'pl 8.5i
|
|
'bp
|