CBL_CTF_TRACE

イベントを1つ以上の出力先に出力する。

構文:
call "CBL_CTF_TRACE" using by value     flags
                           by reference component-id
                           by reference trace-event
                              returning status-code
パラメタ:
呼び出しプロトタイプ使用時 ( 説明の読み方) PIC (32bitシステム)
flags cblt-x4-comp5 pic x(4) comp-5
component-id pic x(n) pic x(n)
trace-event cblt-trc-event 以下を含む集団項目:
cblte-trcevt-version cblt-x4-comp5 pic x(4) comp-5
cblte-trcevt-flags cblt-x4-comp5 pic x(4) comp-5
cblte-trcevt-event-id cblt-x4-comp5 pic x(4) comp-5
cblte-trcevt-level cblt-x4-comp5 pic x(4) comp-5
cblte-trcevt-data-count cblt-x4-comp5 pic x(4) comp-5
cblte-trcevt-event-len cblt-pointer pointer
cblte-trcevt-event-type cblt-pointer pointer
cblte-trcevt-event-data cblt-pointer pointer
status-code 説明の読み方 参照
入力パラメタ:
flags 制御フラグ:
ビット 内容
0-11 今後の使用のために予約済み。値は0であること。
12 0 コンポネントでトレースが有効な場合には出力イベントデータ値 となる。cblte-trcevt-levelで指定されるイベントレベルがコンポネントで設定されるトレースレベルより大きいか、同じ値であった場合も出力 イベントデータになる。
1 コンポネントでトレースが有効な場合は、イベントの出力になる。 コンポネントのために設定されたcblte-trcevt-levelとトレースレベルは無視される。
13 0 cblte-trcevt-event-dataはサイズと種類が変動するデータをトレース するためのポインタ配列となる。cblte-trcevt-event-lenの対応要素とcblte-trcevt-event-type配列は定義する必要がある。
1 cblte-trcevt-event-dataは同サイズ・同種類のデータをトレースする ためのポインタ配列となる。cblte-trcevt-event-lenの第1要素のみとcblte-trcevt-event-typeは定義する必要がある。
14-29 今後の使用のために予約済み。値は0であること。
30 0 component-idはスペース終了。
1 component-idはナル終了。ビット31が設定されていない場合は、無視される。
31 0 component-idはCBL_CTF_TRACER_GETへの呼出しから返されたpic x(4) comp-5 トレーサ処理。
1 component-idはpic x(n)テキスト文字列。文字列の終了文字はビット30にて定義される。
component-id コンポネント一意名。フラッグのビット31が設定されていなければpic x(4) comp-5 トレーサ処理(CBL_CTF_TRACER_GETより)、設定されていればpic x(n)テキスト一意名になる。
cblte-trcevt-version 構造バージョン。値は0であること。
cblte-trcevt-flags 制御フラグ。値は0であること。
cblte-trcevt-event-id コンポネントの指定したイベント一意名で、出力するイベントの種類を特定するために使用する。
cblte-trcevt-event-level 出力されるイベントのトレースレベル
cblte-trcevt-data-count トレースデータアイテムの数量。cblte-trcevt-event-len、 cblte-trcevt-event-type、cblte-trcevt-event-data 配列の要素の数量を示す。値は0でもよい。
cblte-trcevt-event-len 4-byte comp-5列へのポインタ。各列の要素は、cblte-trcevt-event-data配列内の対応する トレースデータの長さを示す。cblte-trcevt-data-countの値が0の場合、この値はナルになる。
cblte-trcevt-event-type 4-byte comp-5列へのポインタ。各列の要素は、cblte-trcevt-event-data配列内の対応する トレースデータの種類を示す。cblte-trcevt-data-countの値が0の場合、この値はナルになる。
タイプ
0 Binary
1 Text (local encoding)
2 Address
3 COMP-5
4 COMP-X
5 UTF8
6 Signed COMP-5
7 Signed COMP-X

上記で指定されている以外の数値はタイプ0(バイナリ)として認識される。

cblte-trcevt-event-data 一連のポインタ項目へのポインタ。各列の要素は、cblte-trcevt-event-type、 cblte-trcevt-event-lenでの対応する要素によって示された種類と長さをもつトレースデータ項目に、各々対応する。

アドレスタイプ項目として、配列要素はアドレス値となる。アドレス値へのポインタとはならない。

出力パラメタ:
status-code 以下のうちの1つ
  • 78-CTF-RET-INVALID-COMPONENT-NAME
  • 78-CTF-RET-INVALID-TRACE-HANDLE
  • 78-CTF-RET-INVALID-TRACE-LEVEL
  • 78-CTF-RET-NOT-ENOUGH-MEMORY
  • 78-CTF-RET-NOT-TRACE-ENABLED
  • 78-CTF-RET-NOT-TRACING-LEVEL
  • 78-CTF-RET-OUTPUT-ERROR
  • 78-CTF-RET-SUCCESS
説明:

CBL_指定されたイベントレベルがコンポネントで設定される値より大きいか、もしくは同じ値である場合、 CBL_CTF_TRACE()はcblte-trcevt-event-idによって識別された指定されたイベントを1ヶ所以上の出力先に出力する。

例:
copy "cbltypes.cpy".
copy "mfctf.cpy".

78 78-EVENT-TYPE-A      value 1.
78 78-EVENT-TYPE-B      value 2.

01 component-id         pic x(7) value "mycomp ".
01 flags                pic x(4) comp-5.
01 trace-event          cblt-trc-event.
01 trace-event-lengths  pic x(4) comp-5 occurs 1.
01 trace-event-pointers pointer occurs 1.
01 trace-event-types    pic x(4) comp-5 occurs 1.
01 trace-info           pic x(10).
01 tracer-handle        pic x(4) comp-5.

...
move low-values to trace-event

set cblte-trcevt-event-len of trace-event to
    address of trace-event-lengths(1)
set cblte-trcevt-event-type of trace-event to
    address of trace-event-types(1)
set cblte-trcevt-event-data of trace-event
    to address of trace-event-pointers(1)

*> 1) Acquire a tracer handle to trace "mycomp" component events,
*>    then output two informational events; one with event data,
*>    one without.

call "CBL_CTF_TRACER_GET" using by value 0
                                by reference component-id
                                by reference tracer-handle
...
move 0 to flags
move 78-CTF-FLAG-LEVEL-INFO to cblte-trcevt-level of trace-event
move 78-EVENT-TYPE-A to cblte-trcevt-event-id of trace-event
move 1 to cblte-trcevt-data-count of trace-event
move length of trace-info to trace-event-lengths(1)
move 78-TRACE-EVENT-TYPE-TEXT to trace-event-types(1)
set trace-event-pointers(1) to address of trace-info

call "CBL_CTF_TRACE" using by value flags
                           by reference tracer-handle
                           by reference trace-event
...
move 78-EVENT-TYPE-B to cblte-trcevt-event-id of trace-event
move 0 to cblte-trcevt-data-count of trace-event

call "CBL_CTF_TRACE" using by value flags
                           by reference tracer-handle
                           by reference trace-event
...

*> 2) Output two informational events for the "mycomp" component
*>    without acquiring a tracer handle

...
move 78-CTF-FLAG-COMPID-STRING to flags
move 78-CTF-FLAG-LEVEL-INFO to cblte-trcevt-level of trace-event
move 78-EVENT-TYPE-A to cblte-trcevt-event-id of trace-event
move 1 to cblte-trcevt-data-count of trace-event
move length of trace-info to trace-event-lengths(1)
move 78-TRACE-EVENT-TYPE-TEXT to trace-event-types(1)
set trace-event-pointers(1) to address of trace-info

call "CBL_CTF_TRACE" using by value flags
                           by reference component-id
                           by reference trace-event
...
move 78-EVENT-TYPE-B to cblte-trcevt-event-id of trace-event
move 0 to cblte-trcevt-data-count of trace-event

call "CBL_CTF_TRACE" using by value flags
                           by reference component-id
                           by reference trace-event
...

関連項目