プログラミングユーティリティ

TNF_PROBE マクロの使い方

単純な例として、TNF_PROBE_0 を以下に示します。このマクロには、引数の型は指定しません。

TNF_PROBE_0 (name, keys, detail);

各変数について説明します。

上記のコマンドで照合される値を表 1-8 に示します。

表 1-8 ユーザー定義属性の例

属性 

値 

prex が照合する値

sunw%debug

entering function A

entering または function または A

comX%exception

no file

no または file

comY%func_entry

 

/.*/ (正規表現)

comY%color

red blue

red または blue

libtnfprobe は、ベンダー記号が前に付いていない属性名をすべて予約します (つまり、名前に % 記号が含まれていない属性をすべて予約します)。「C プログラムのサンプル」cookie.c では、以下の TNF_PROBE_0 を使用しています。

TNF_PROBE_0(start, "cookie main", "sunw%debug starting main");

注 -

プリプロセッサオプションの -DNPROBE (cc(1) のマニュアルページを参照) を使用してコンパイルする場合、またはプリプロセッサ制御文 #include <tnf/probe.h> の前に #define NPROBE を置いてコンパイルする場合には、プローブポイントと TNF の型拡張コードがプログラムにコンパイルされないようにしてください。