4.2.7 javatrace
トレース情報の収集
書式
javatrace coreファイル名 実行ファイル名 [出力ファイル名] [-l ライブラリーファイル名 ...]
格納先
Application Serverインストールディレクトリー/jdk/jre/bin/
機能
coreファイルからスタックトレース情報を取得します。
このコマンドは、Java VMが異常終了してcoreファイルを生成した場合、その異常終了の原因究明に必要な情報を取得するために実行するコマンドです。プロセスダウン時の詳細要因などが調査できます。
引数
- coreファイル名
-
coreファイル名を指定します。
- 実行ファイル名
-
coreファイルを生成した実行ファイル名を指定します。
- 出力ファイル名
-
出力ファイル名を指定します。
省略した場合は、カレントディレクトリーの"javatrace.log"に出力されます。
- -l ライブラリーファイル名
-
使用したライブラリーファイルを指定します。
共用ライブラリーが絶対パスで実行ファイルに取り込まれている場合は、自動的に読み込まれるため、指定する必要はありません。
入力例
Java VMが異常終了してcoreファイルを生成した場合、次のメッセージが表示されます。このメッセージ内のjavatraceコマンドの文字列を実行します。
なお、このメッセージは、異常終了時に生成されるエラーリポートファイル(hs_err_pidプロセスID.log)にも出力されます。
: # You can get further information from javatrace.log file generated # by using javatrace command. # usage: javatrace core-file-name loadmodule-name [out-file-name] # [-l(library-name)...] # Please use javatrace command as follows and submit a bug report # to Hitachi with javatrace.log file: # [Application Serverインストールディレクトリー/jdk/jre/bin/javatrace core # Application Serverインストールディレクトリー/jdk/jre/bin/java] #
-
coreファイル名がcoreの場合
Application Serverインストールディレクトリー/jdk/jre/bin/javatrace core Application Serverインストールディレクトリー/jdk/jre/bin/java
OSによっては実際に出力されるcoreファイル名がcore.プロセスIDになる場合があります。その場合は、実際に出力されたcoreファイル名をjavatraceの引数に指定してください。
-
coreファイル名がcore.プロセスIDの場合
Application Serverインストールディレクトリー/jdk/jre/bin/javatracecore.8326 Application Serverインストールディレクトリー/jdk/jre/bin/java
戻り値
戻り値 |
説明 |
---|---|
0 |
正常終了しました。 |
1 |
異常終了しました。 |
出力メッセージ
次のエラーメッセージまたは警告メッセージを出力した場合、スタックトレース情報は出力されません。
項番 |
エラーメッセージ |
説明 |
---|---|---|
1 |
usage : javatrace core-filename loadmodule-name [out-filename] [-llibrary-name...] |
javatraceコマンドへの引数の指定が間違っています。 |
2 |
javatrace: Cannot open file-name :No such file or directory |
出力ファイルで指定したファイル以外のファイル(file-name)が見つかりません。 |
3 |
javatrace: Cannot open file-name : Permission denied |
ファイル(file-name)の読み込みが許可されていません。 |
4 |
javatrace : Cannot create file-name : Already exist |
出力ファイルに指定したファイル(file-name)がすでに存在しています。 |
5 |
* unknown core type(XXXXXXX) ignored. |
coreファイル名で指定したファイルは、coreファイルではありません。 |
6 |
* ERROR : file-name, unknown magic(0xXXXX) |
実行ファイル名で指定したファイルは、実行ファイルではありません。 |
7 |
WARNING : core file may not match loadmodule (core file from ‘loadmodule-name') |
実行ファイル名で指定した実行ファイルと、coreファイル名で指定したcoreファイルから取り出した実行ファイル(loadmodule-name)が一致していません。 |
8 |
javatrace : Bad argument : argument-name is directory |
指定したファイル(file-name)はディレクトリーです。 |
9 |
* ERROR : library-name open : No such file or directory |
実行ファイルが取り込んだ共用ライブラリー(library-name)が見つかりません。共用ライブラリーが相対パスで取り込まれている場合には、-lオプションで共用ライブラリーを明示的に指定する必要があります。 |
10 |
javatrace : illegal option -- x |
誤ったオプション文字(x)が指定されています。 |
11 |
javatrace : Cannot create file-name : Permission denied |
出力ファイルで指定したファイル(file-name)の出力先に書き込み権限がありません。 |
注意事項
-
javatraceコマンドはcoreファイルが生成されたマシンで実行してください。
-
Java VMが異常終了した場合に標準出力とエラーリポートファイルに出力されるメッセージで、javatraceコマンドの第2引数が、次のように絶対パスのロードモジュール名になっていないことがあります。
: # You can get further information from javatrace.log file generated # by using javatrace command. # usage: javatrace core-file-name loadmodule-name [out-file-name] # [-l(library-name)...] # Please use javatrace command as follows and submit a bug report # to Hitachi with javatrace.log file: # [Application Serverインストールディレクトリー/jdk/jre/bin/javatrace core # Application Serverインストールディレクトリー/jdk/jre/bin/java] #
その場合は、javatraceコマンドの第2引数に指定するロードモジュール名を、絶対パスに変換してから実行してください。