'\" t
.\" Copyright 2006 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
.\" CA 95054 USA or visit www.sun.com if you need additional information or
.\" have any questions.
.\" `
.TH jstack 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
.SH 名前
jstack \- スタックトレース
.\"
.SH 形式
.B jstack
.BI [ option ] " pid"
.br
.B jstack
.BI [ option ] " executable core"
.br
.B jstack
.BI [ option ] " [server-id@]remote-hostname-or-IP"
.SH パラメータ
オプションは相互に排他的です。オプションを使用する場合は、コマンド名の直後に指定する必要があります。
「オプション」を参照してください。
.if t .TP 20
.if n .TP 15
.I pid
スタックトレースを出力するプロセス ID。プロセスは Java プロセスでなければなりません。マシン上で実行している Java プロセスのリストを取得するには、
.B jps
を使用します。
.if t .TP 20
.if n .TP 15
.I executable
コアダンプが生成された Java 実行可能ファイル。
.if t .TP 20
.if n .TP 15
.I core
スタックトレースを出力するコアファイル。
.if t .TP 20
.if n .TP 15
.BI remote-hostname-or-IP
リモートデバッグサーバー (
.B jsadebugd
を参照) のホスト名または IP アドレス。
.if t .TP 20
.if n .TP 15
.I server-id
同じリモートホスト上で複数のデバッグサーバーが動作している場合の、オプションの一意 ID。
.SH 機能説明
.B jstack
は、指定された Java プロセスまたはコアファイルまたはリモートデバッグサーバーの Java スレッドの Java スタックトレースを出力します。それぞれの Java フレームについて、完全なクラス名、メソッド名、'bci' (バイトコードインデックス) 、および行番号 (入手可能な場合) が出力されます。
.B \-m
オプションを指定した場合、
.B jstack
は、すべてのスレッドの Java とネイティブの両方のフレームを 'pc' (プログラムカウンタ) とともに出力します。それぞれのネイティブフレームについて、'pc' に最も近いネイティブシンボル (入手可能な場合) が出力されます。C++ の符号化された (mangled) 名前は復号化 (demangled) されません。C++ 名を復号化するには、このコマンドの出力を c++filt にパイプで渡します。
指定されたプロセスが 64 ビット VM 上で実行されている場合、\f2\-J\-d64\fP オプションを指定しなければならない場合があります。次に例を示します。
.br
.LP
.RS 3
.LP
.nf
\f3
.fl
jstack \-J\-d64 \-m pid
.fl
\fP
.fi
.RE
.LP
注 - このユーティリティはサポートされていないため、JDK の将来のバージョンでは使用できない可能性があります。
Windows プラットフォーム上で使用可能な唯一の jstack 形式は、次のとおりです。
.LP
.nf
\f3
.fl
\fP\f3 jstack pid \fP
.fl
.fi
.LP
.SH オプション
.LP
.LP
.TP 3
\-F
「jstack pid」が応答しない場合にスタックダンプを強制します。
.TP 3
\-m
混合モード (Java とネイティブの両方の C/C++ フレーム) のスタックトレースを出力します。
.TP 3
\-h
ヘルプメッセージを出力します。
.br
.br
.TP 3
\-help
ヘルプメッセージを出力します。
.br
.LP
.SH 関連項目
.LP
.RS 3
.TP 2
*
pstack(1)
.TP 2
*
c++filt(1)
.TP 2
*
jps
.TP 2
*
jsadebugd
.RE
.LP
.SH 既知の問題
混合モードのスタックトレース (
.B \-m
オプション) は、リモートデバッグサーバーでは機能しません。