11.1.3 トレースの確認方法
- 〈この項の構成〉
(1) UAPトレース
(a) UAPトレースの概要
「11.2 調査手順」で説明する調査手順にはUAPトレースを参照する場合があります。UAPトレースとは,OpenTP1が提供している関数を発行した際に取得されるトレース情報です。OpenTP1が提供している関数については,プロセス停止時にUAPトレースを参照することで,どこまで処理が進んでいたのか確認できます。また,関数内で停止した場合はdc_***(入口)と表示され,関数外で停止した場合はdc_***(出口)と表示されるため,UAPトレースを参照することで停止した処理が関数内か,または関数外かを確認できます。
(b) UAPトレースの確認方法
UAPトレースは,異常終了した場合に取得されるものです。正常停止した場合は出力されません。OpenTP1が起動中であれば,異常終了後,$DCDIR/spool/save配下に「ユーザサーバ名n.uat」※というファイル名で出力されます。
UAPトレースファイルは,テキスト形式なのでviなどの標準のエディタで参照できます。参照する際は,異常終了時に出力されるKFCA01820-EメッセージのPIDを確認して,UAPトレースの上部に出力されるPIDと比較し,同一PIDの情報を参照してください。
ユーザサーバの異常終了の際に,OpenTP1全体が異常終了してしまった場合,UAPトレースが$DCDIR/spool/save配下に出力されていないことがあります。$DCDIR/spool/save配下にUAPトレースが見つからない場合は,カレントディレクトリ($DCDIR/spool/tmp/home/ユーザサーバ名)を参照しコアファイルを探してください。コアファイルが見つかったら「uatdump core > 任意のファイル名称」を実行してUAPトレースファイルを編集出力してください。
- 注※
-
nにファイルの世代番号が入ります。
(2) スタックトレースの確認方法
「11.2 調査手順」で説明する調査手順にはスタックトレースを取得する指示があります。スタックトレースは次に示す方法で取得できます。
- UNIXの場合
-
例としてAIXおよびLinuxの場合の手順を示します。OSによって取得方法は異なるので詳細についてはOSのマニュアルを参照してください。
AIX:「dbx ロードモジュール名称 コアファイル」を実行後,コマンド入力待ちになるので,whereを入力します。スタックトレースが表示されます。
Linux:「gdb UAPのロードモジュール名 コアファイル | tee ファイル名(任意)」を実行後,コマンド入力待ち状態になるので,btを入力します。複数行の出力をEnterキーを入力して表示させて,すべて表示させたらqを入力して終了します。指定したファイル名にスタックトレースが出力されます。
- Windowsの場合
-
コマンドプロンプトを起動して,「drwtsn32 -i」を実行しておくことでプロセスの異常終了時にワトソンログ(スタックトレース情報含む)で指定したパスにログファイルが出力されます。詳細についてはOSのマニュアルを参照してください。