next up previous contents index
: バックトレース : その他 : ログ・ファイル   目次   索引

トレース

(trace 〈関数〉) 【関数】

〈関数〉 にトレース属性を付ける. トレース属性の付いた関数が呼び出されると, 呼び出し時に関数名と引数が, 実行終了時には関数名と返り値が, いずれも呼び出しの深さに応じて字下げして表示される. traceの返す値は #tである.

例:

> (define (append2 x y)  

(if (null? x)
y
(cons (car x)
(append2 (cdr x) y))))
append2
> (append2 '(a b) '(c d))
(a b c d)
> (trace append2)
#t
> (append2 '(a b) '(c d))
1>(append2 (a b) (c d))
2>(append2 (b) (c d))
|3>(append2 () (c d))
|3<(append2 (c d))
2<(append2 (b c d))
1<(append2 (a b c d))
(a b c d)

(untrace 〈関数$_1$$\cdots$〈関数$_n$〉) 【関数】

〈関数$_1$$\sim$ 〈関数$_n$〉のトレース属性をはずす. 無引数で呼び出された場合はすべてのトレース属性の付いた関数の トレース属性をはずす. 返す値は #tである.

*max-trace-depth* 【変数】

traceの表示を制御する. この変数の値以上にトレース・レベルが深くなればトレースをしない. 値が$0$以下の場合はすべてのレベルでトレースする. 初期値は$0$である.
*trace-indent-length* 【変数】

traceの表示を制御する. トレース・レベルごとの字下げのスペースの数を指定する. 初期値は$2$である.
*trace-indent-rate* 【変数】

traceの表示を制御する. トレース・レベルがいくつ深くなるごとに字下げを行なうかを指定する. 初期値は$1$である.
*max-trace-indent-length* 【変数】

traceの表示を制御する. 字下げの最大の長さを指定する. 初期値は$50$である.
*trace-level-bar-rate* 【変数】

traceの表示を制御する. レベルの対応を示す線をトレースの何レベルごとに書くかを指定する. 初期値は$3$である.
*trace-level-bar* 【変数】

traceの表示を制御する. レベルの対応を示す線を表す文字を指定する. デフォルトの文字は`` #\|''である.


next up previous contents index
: バックトレース : その他 : ログ・ファイル   目次   索引
Tsuneyasu KOMIYA 平成14年2月22日