jstack - スタックトレース

形式

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

パラメータ

各オプションは互いに排他的です。オプションを使用する場合、コマンド名の直後に記述します。オプションを参照してください。

pid
印刷するスタックトレースのプロセス ID です。プロセスは Java プロセスである必要があります。マシン上で実行している Java プロセスの一覧を取得するには、jps を使用します。
executable
コアダンプの作成元の Java 実行可能ファイルです。

core
印刷するスタックトレースのコアファイルです。

remote-hostname-or-IP
リモートデバッグサーバー (jsadebugd を参照) のホスト名または IP アドレスです。

server-id
複数のデバッグサーバーが同一のリモートホストで実行している場合の、オプション固有の ID です。

説明

jstack は、指定された Java プロセスやコアファイルまたはリモートデバッグサーバーに対する Java スレッドの Java スタックトレースを印刷します。Java フレームごとに、フルクラス名、メソッド名、「bci」(バイトコードインデックス)、および行番号 (利用可能な場合) が印刷されます。-m オプションを使用すると、jstack は、すべてのスレッドの Java フレームとネイティブフレームの両方を、「pc」(プログラムカウンタ) とともに印刷します。ネイティブフレームごとに、「pc」にもっとも近いネイティブシンボル (利用可能な場合) が印刷されます。C++ 分解名は分解解除されません。C++ 名を分解解除するには、このコマンドの出力を c++filt にパイプします。指定されたプロセスが 64 ビット VM 上で実行されている場合、-J-d64 オプションを指定しなければならない場合があります。次に例を示します。

jstack -J-d64 -m pid

注 - このユーティリティーはサポート対象外であり、将来の JDK のバージョンでは利用できなくなる可能性があります。Windows プラットフォーム上で使用可能な唯一の jstack 形式は、次のとおりです。

    jstack [-l] pid 

オプション

-F
「jstack [-l] pid」が応答しない場合にスタックダンプを強制します。
-l
長形式のリスト。所有 java.util.concurrent の所有できるシンクロナイザの一覧など、ロックについての追加情報を印刷します。
-m
混合モード (Java およびネイティブ C/C++ フレームの両方) のスタックトレースを印刷します。
-h
ヘルプメッセージを印刷します。

-help
ヘルプメッセージを印刷します。

関連項目

既知のバグ

混合モードのスタックトレース (-m オプション使用) は、リモートデバッグサーバーでは機能しません。


Copyright © 2004 - 2006 Sun Microsystems, Inc. All Rights Reserved.

Sun
Java Software