Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


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のマニュアルを参照してください。