edebugは、実行トレースを‘*edebug-trace*’というバッファに保存することで
それらを記録できます。
これは、関数名とそれらの引数、戻り値から成る
関数呼び出しとその戻りの記録です。
トレース記録を有効にするには、
edebug-trace
にnil
以外の値を設定します。
トレースバッファを作成することとトレース実行モードとは 同じではありません(see Edebug Execution Modes)。
トレース記録を有効にしていると、 各関数へ入るときと出るときに、トレースバッファに行が追加されます。 関数へ入るときの記録は、‘::::{’に関数名と引数値が続きます。 関数から出るときの記録は、‘::::}’に関数名とその結果が続きます。
入るときの‘:’の個数は、再帰の深さを表します。 関数呼び出しの対応する開始や対応する終了を探すために トレースバッファでは中括弧を使えます。
関数edebug-print-trace-before
とedebug-print-trace-after
を
再定義すれば、関数へ入ったときと出るときのトレース記録をカスタマイズできます。
このマクロはフォームbodyの周りにトレース情報を追加する。 引数stringは、トレースバッファに入れるテキストを指定する。 すべての引数を評価する。
edebug-tracing
はbodyの最後のフォームの値を返す。
この関数はトレースバッファにテキストを挿入する。 テキストは
(apply 'format
format-string format-args)
で 計算する。 区切りとして改行も挿入する。
edebug-tracing
とedebug-trace
は、
edebugが活性でない場合であっても呼ばれるとトレースバッファに行を挿入します。
トレースバッファにテキストを挿入するとき、
挿入した最後の行が見えるようにウィンドウをスクロールします。