次: , 前: Printing in Edebug, 上: Edebug


17.2.12 トレースバッファ

edebugは、実行トレースを`*edebug-trace*'というバッファに保存することで それらを記録できます。 これは、関数名とそれらの引数、戻り値から成る 関数呼び出しとその戻りの記録です。 トレース記録を有効にするには、 edebug-tracenil以外の値を設定します。

トレースバッファを作成することとトレース実行モードとは 同じではありません(see Edebug Execution Modes)。

トレース記録を有効にしていると、 各関数へ入るときと出るときに、トレースバッファに行が追加されます。 関数へ入るときの記録は、`::::{'に関数名と引数値が続きます。 関数から出るときの記録は、`::::}'に関数名とその結果が続きます。

入るときの`:'の個数は、再帰の深さを表します。 関数呼び出しの対応する開始や対応する終了を探すために トレースバッファでは中括弧を使えます。

関数edebug-print-trace-beforeedebug-print-trace-afterを 再定義すれば、関数へ入ったときと出るときのトレース記録をカスタマイズできます。

— マクロ: edebug-tracing string body...

このマクロはフォームbodyの周りにトレース情報を追加する。 引数stringは、トレースバッファに入れるテキストを指定する。 すべての引数を評価する。 edebug-tracingbodyの最後のフォームの値を返す。

— 機能: edebug-trace format-string &rest format-args

この関数はトレースバッファにテキストを挿入する。 テキストは(apply 'format format-string format-args)で 計算する。 区切りとして改行も挿入する。

edebug-tracingedebug-traceは、 edebugが活性でない場合であっても呼ばれるとトレースバッファに行を挿入します。 トレースバッファにテキストを挿入するとき、 挿入した最後の行が見えるようにウィンドウをスクロールします。