bpxtrace - プロセスのトレースをアクティブ化または非アクティブ化する

形式

  • bpxtrace –a [-B debug] [-p pid] [-u userid]
  • bpxtrace –c
    • [–f format|full|short|counts]
    • [–o outputpath] [–T tempdir][–v volser]
    • [-B debug] [-h columns] [-x]
    • [command]
  • bpxtrace –e [-p pid] [-u userid]
    • [–f format|full|short|counts]
    • [–o outputpath] [–T tempdir][–v volser]
    • [-B debug] [-h columns] [-x]
  • bpxtrace –i [-p pid] [-u userid]
    • [–f format|full|short|counts]
    • [–o outputpath] [–T tempdir][–v volser]
    • [-B debug] [-h columns] [-x]
  • bpxtrace –s [-B debug] [-p pid] [-u userid]
  • bpxtrace –S
    • [–o outputpath] [–T tempdir]
    • [–B debug] [–v volser]
  • bpxtrace –t <seconds> [-p pid] [-u userid]
    • [–f format|full|short|counts]
    • [–o outputpath] [–T tempdir][–v volser]
    • [-B debug] [-h columns] [-x]

説明

bpxtrace は、1 つ以上のプロセスのトレースをアクティブ化および非アクティブ化します。このコマンドは、z/OS® UNIX シェルまたは TSO 環境から実行できます。キャプチャーされた シスコール・トレース出力は、SYSOMVS CTRACE オプションのシステム全体の設定、 および bpxtrace コマンド発行時のシステムでの z/OS UNIX アクティビティーの量に 依存します。

ガイドライン: SYSOMVS CTRACE を使用する場合は、常に最小設定を指定してください。そうでないと、bpxtrace を実行してシスコール・データをキャプチャーする場合に、出力量が減少する可能性があります。

制約事項: 単一ユーザーは、任意の時点で bpxtrace を 1 回だけ実行できます。複数のオカレンスを実行すると、割り振りエラー、ダンプ障害、矛盾するプロセス・トレース、またはその他の予期しない動作が生じることがあります。

bpxtrace コマンドは、以下の一時データ・セットを割り振る場合があります。
  • userid.BPXGDCORE.DUMPDS
  • userid.BPXGDCORE.LOG
  • userid.BPXGDCORE.BPXEXEC
  • userid.BPXGDCORE.DDIR
userid 接頭部は、このコマンドを実行するユーザーの MVS™ ユーザー名であり、現行の TSO 接頭部設定によって影響を受けません。 呼び出し元は、これらのデータ・セットを作成する権限を持っていなければなりません。そうでないと、bpxtrace コマンドは失敗します。

データ・セット名が、指定したボリュームまたはデフォルト・ボリューム上の 割り振りに対して適格でない場合、bpxtrace コマンドは失敗します。 例えば、これらのデータ・セットおよびオブジェクトの SMS クラスおよび ストレージ・グループを決定する ACS ルーチンは、これらのボリューム上の 割り振りを可能にするために変更が必要な場合があります。

オプション

すべてのオプションおよびパラメーターは機能ごとに受け入れられますが、その一部は特定の機能に対して無視されることがあります。その特定の機能に適用できるオプションについては、形式の機能説明を参照してください。

-a
トレース出力を生成せずにトレースを停止します。
-B debug
bpxtrace の実行時に生じる問題を診断する際に使用されます。

制約事項: このオプションは、サービス担当員のみが 使用することを目的としています。

デバッグ・レベルには以下のいずれかの数値を指定します。

1
冗長モード。
2
冗長モード。REXX シグナルをトラップする。
3
冗長モード。REXX シグナルをトラップし、一時ファイルおよびデータ・セットを保存する。
4
冗長モード。REXX シグナルをトラップし、一時ファイルおよびデータ・セットを保存する。bpxtrace コマンド自体のトレースは無効にしない。
-c command
/bin/sh -c コマンドによって呼び出される command ストリングで指定されるシェル・コマンドまたはスクリプトをトレースします。
-e
ユーザー・プロセスのトレースを終了し、トレース出力を生成します。
–f format|full|short|counts

トレース・レコード (シスコール入り口およびシスコール出口レコード) の表示方法を指定します。fullshort、および counts の各値は、トレース・レコードを COMP(SYSOMVS) の対応する IPCS フォーマット要求を伴う IPCS CTRACE コマンドによってフォーマット設定された形式で表示します。

  • format は、トレース・レコードを処理し、トレース・レコードの関連情報を用いてフォーマット設定されたトレース・レコードにつき 1 行を表示します。また、format の値は、指定されたユーザー ID またはプロセス ID の値に基づいてフィルタリングされます。次の画面は、bpxtrace -f format からの出力の例を示しています。
    PID ASID TCB    Local time      System call    Additional trace data     
      7 0025 8FF1D8 09:43:04.070651 Call open      pgm=/bin/bpxtrace parms: 0000000D /bin/bpxwrtso 00800002
                                                   00000000 00000000 00000000 00000000 
      7 0025 8FF1D8 09:43:04.070668 Exit open      rv=00000007 pgm=/bin/bpxtrace
      7 0025 8FF1D8 09:43:04.070675 Call read      pgm=/bin/bpxtrace parms: 00000007 25D00000 00000000 00001000
                                                   00000000 00000000 00000000 
      7 0025 8FF1D8 09:43:04.091468 Exit read      rv=00001000 pgm=/bin/bpxtrace 

    "System Call" カラムの最初のワードによって、トレース・エントリーが シスコール入り口 (CALL) またはシスコール出口 (EXIT) のどちらに対応するかが識別されます。2 番目のワードは、シスコールを識別します。"CALL" タイプのエントリーでは、 "Additional Trace Data" カラムに示されたパラメーターを、指定したシスコールの 入力および出力パラメーターと一致させる必要があります。シスコールへ入るときに、出力パラメーターには残余データが含まれる場合があることに注意してください。 pgm=field には、bpxtrace の終了後にアクティブな場合にのみ、 トレースされているプロセスに関する情報が表示されます。 "EXIT" タイプのエントリーでは、シスコールから返された戻り値 (RV) が "Additional Trace Data" カラムに表示されます。入力パラメーター・マッピング、および戻り値の意味については、「 z/OS UNIX System Services プログラミング: アセンブラー呼び出し可能サービス 解説書z/OS UNIX System Services プログラミング: アセンブラー呼び出し可能サービス 解説書」を参照してください。

  • full は、KERNINFO オプションを用いて指定した場合の IPCS CTRACE コマンドの full フォーマット・オプションに対応します。
    制約事項: このオプションは、 サービス担当員のみが使用することを目的としています。
    CTRACE COMP(SYSOMVS) FULL OPTIONS((KERNINFO))
    次の表示は、bpxtrace -f full からの出力の例を示しています。
     FCN...open             SYSCALL...BPX1OPN  PID...00000007  MODULE...BPXJCPC 
    SY1       SYSCALL   0F080001  09:43:04.070651  STANDARD SYSCALL ENTRY TRACE 
        ASID..0025      USERID....MEGA      STACK@....26D9D0A8                  
        TCB...008FF1D8  EUID......00000000  PID.......00000007                  
       +0000  00000026  00000000  D1C3E2C5  8C000004  | ........JCSE.... |      
       +0010  8000000C  00000000  8288B768  FFFFFFFF  | ........bh...... |      
       +0020  00000002  26D9E8B4  00000000  7F6DCBBC  | .....RY....."_.. |      
       +0030  C0000007  0000000D  61828995  618297A7  | {......./bin/bpx |      
       +0040  A699A3A2  96000000  00800002  00000000  | wrtso........... |      
       +0050  00000000  00000000  0BBD0000  00000000  | ................ |      
       +0060  00000000  00000000  00000000  00000000  | ................ |      
       +0070  00000000  00000000  00000000  00000000  | ................ |      
       +0080  00000000  00000000  00000000            | ............     |  
    FCN...open             SYSCALL...BPX1OPN  PID...00000007  MODULE...BPXJCPC
    SY1       SYSCALL   0F080002  09:43:04.070668  STANDARD SYSCALL EXIT TRACE 
        ASID..0025      USERID....MEGA      STACK@....26D9D0A8                 
        TCB...008FF1D8  EUID......00000000  PID.......00000007                 
       +0000  00000026  00000000  D1C3E2C5  8C008000  | ........JCSE.... |     
       +0010  8000000A  00000000  00000007  00000002  | ................ |     
       +0020  00000001                                | ....             |  
      FCN...read             SYSCALL...BPX1RED  PID...00000007  MODULE...BPXJCPC
     SY1       SYSCALL   0F080001  09:43:04.070675  STANDARD SYSCALL ENTRY TRACE
         ASID..0025      USERID....MEGA      STACK@....26D9D0A8                 
         TCB...008FF1D8  EUID......00000000  PID.......00000007                 
        +0000  0000002B  00000000  D1C3E2C5  8C000004  | ........JCSE.... |     
        +0010  8000000C  00000000  82885438  00000000  | ........bh...... |     
        +0020  00000000  618297A7  00000000  7F6DCBBC  | ..../bpx...."_.. |     
        +0030  40000007  00000007  25D00000  00000000  |  ........}...... |     
        +0040  00001000  00000007  00000000  0BBD0000  | ................ |     
      FCN...read             SYSCALL...BPX1RED  PID...00000007  MODULE...BPXJCPC
     SY1       SYSCALL   0F080002  09:43:04.091468  STANDARD SYSCALL EXIT TRACE 
         ASID..0025      USERID....MEGA      STACK@....26D9D0A8                 
         TCB...008FF1D8  EUID......00000000  PID.......00000007                 
        +0000  0000002B  00000000  D1C3E2C5  8C008000  | ........JCSE.... |     
        +0010  8000000A  00000000  00001000  26D9D0BA  | .............R}. |     
        +0020  00000000                                | ....             |   
  • short は、IPCS CTRACE コマンドの short フォーマット・オプションに対応します。
     CTRACE COMP(SYSOMVS) SHORT

    short フォーマット・オプションを指定した場合の SYSOMVS トレース・レコードの例については、「z/OS MVS 診断: ツールと保守援助プログラム」を参照してください。

  • counts は、IPCS CTRACE コマンドの SYSOMVS sccounts オプションに対応します。
    CTRACE COMP(SYSOMVS) OPTIONS((SCCOUNTS))

    sccounts フォーマット・オプションを指定した場合の SYSOMVS トレース・レコードの例については、「z/OS MVS 診断: ツールと保守援助プログラム」を参照してください。

デフォルトは -f format です。
–h columns
-f format 使用時のトレース出力のカラムを選択します。columns には、各文字がカラムを表す一連の文字を指定します。
p
PID カラム
a
ASID カラム
t
TCB カラム
l
ローカル時間カラム
s
システム呼び出しカラム
d
追加のトレース・データ
文字は任意の順序で指定できますが、出力内のカラムの順序は影響を受けません。カラムへの指定が誤っていると、デフォルトが使用されます。デフォルトは -h patlsd です。
-i
トレース出力を生成し、トレースを有効のままにしておきます。
–o outputpath
トレース出力を入れる z/OS UNIX ファイルのパス名を指定します。デフォルトでは、トレース・レコードを標準出力ストリームに書き込みます。これにより、相当量のトレース出力が生じることがあります。シェル環境で実行する場合は、stdout をファイルにリダイレクトすることができます。そうでない場合は、-o オプションを使用して、出力をご使用のセッションに書き込ませることを回避することができます。

指定されたファイルが存在している場合は、その内容が置き換えられます。リダイレクトが使用される場合、その結果はリダイレクト演算子に応じて決まります。

–p pid,...
トレースの開始、停止、またはフォーマット設定を行わせるプロセスのプロセス ID を指定します。トレースのフォーマット設定を行う場合、デフォルトのフォーマット設定では、指定された PID のリストによって識別されるプロセスのレコードのみが表示されます。複数のプロセスのリストをトレースさせるには、コマンドに複数の -p pid インスタンスを指定します。 デフォルトでは、トレースはユーザーのすべてのプロセスに対して開始されます。
-s
ユーザー・プロセスのトレースを開始します。
-S
System Authorization Facility (SAF) によって報告された、 異常な状態または予期しない状態のトレース出力を生成します。SAF 結果による トレースのフラッディングを防ぐために、z/OS UNIX では、呼び出し可能サービス文書 および戻り値が問題の原因を判別するために十分な情報を含んでいない状態のみをトレースします。

有効な UID 0 のユーザーに対してはすべての UID のトレース・レコードが表示されますが、 有効 UID 0 以外のユーザーに対しては一致する UID のトレース・レコードのみが表示されます。 これらのトレース・レコードの最初の 40 (10 進数) バイトは、「z/OS UNIX System Services プログラミング: アセンブラー呼び出し可能サービス 解説書」に記載されている BPXYTHLI マクロの ThliSecErrCT セクションによってマップされます。 レコードの最初の 40 バイトを超える部分は、IBM® サービスによって使用されます。

-S オプションによって使用されるトレース機能は、システムまたは 指定したプロセスに対するトレースの事前のアクティベーションを必要としません。 -S オプションで使用されるトレース機能は常にアクティブであり、 アクティブ化や非アクティブ化を行う必要がありません。

次の z/OS UNIX サービスでは、SAF によって報告された 異常な状態または予期しない状態のトレース・レコードを作成します。
  • BPX1PWD (__passwd)
  • BPX1SUI (setuid)
  • BPX1SEU (seteuid)
  • BPX1SRU (setreuid)
  • BPX1TLS (pthread_security)
  • BPX1GGN (getgrnam)
  • BPX1GGR (getgroups)
  • BPX1SEC (__login)
-t seconds
指定された期間のトレースを行ってから、出力を生成します。 その期間が終了すると、トレース・プロセスでは、トレースがオンではなくなります。
-T tempdir
一時ファイルとして使用するディレクトリーのパス名を指定します。デフォルトでは、bpxtrace は、シェル環境で実行される場合に TMPDIR 環境変数を使用します (使用可能な場合)。そうでない場合は、/tmp が使用されます。
–u userid
トレースの処理時に使用されるユーザー ID を指定します。 ユーザー ID が呼び出し側ユーザーのユーザー ID と同じでない場合は、bpxtrace は、トレースされるプロセスを決定する前に UID(0) への切り替えを試みます。 呼び出し側ユーザーが UID(0) に切り替えるための権限を持っていない場合は、bpxtrace コマンドは失敗します。-p-u の両方が指定された場合、-u は無視されます。
–v volser
一時データ・セットを割り振るために使用するボリュームを指定します。-v を指定しない場合は、unit(sysallda) が使用されます。
-x
出力に出口トレース行のみを入れることを指定します。-f format も指定する必要があります。

  1. df ユーティリティーによってなされた呼び出しをトレースし、その出力をファイルに取り込むには、次のように入力します。
    bpxtrace -c -o trace.output df

使用上の注意

BPXTRACE トレースの開始後にユーザーの有効な UID が変更された場合、 BPXTRACE 出力から CTRACE レコードが欠落していることがあります。 DUMP 処理の制限により、ダンプ時のユーザーの EUID と一致する CTRACE レコードのみがキャプチャーされ、表示可能になります。

終了値

0
正常終了
1
トレースは正常に行われたが、リストが生成されなかった
3
コマンド行構文エラー
4
データ・セットまたはファイル割り当てエラー
5
seteuid が失敗した
8
z/OS UNIX 呼び出し可能サービス BPXGMCDE (MVS IPCS ダンプ・オープン/クローズ・サービス) のオープンに失敗した。 このエラーは、ダンプ・データ・セットをオープンできなかったことを示します。コマンドを再試行してください。エラーが存続する場合は、IBM サービスに連絡してください。
9
z/OS UNIX 呼び出し可能サービス BPXGMPTR (Ptrace IPCS ダンプ・アクセス・サービス) のコマンドが失敗した。このエラーは、ダンプ処理の試行中にリソースの制約が検出されたことを示します。コマンドを再試行してください。エラーが存続する場合は、IBM サービスに連絡してください。
12
この問題を判別するために、エラー・ログをよく調べてください。