Edebugは実行トレースを*edebug-trace*という名前のバッファーに格納して記録できます。実行トレースとは関数呼び出しとリターンのログのことで関数名と引数、および値を確認できます。トレースレコードを有効にするには、edebug-trace
を非nil
値にセットしてください。
トレースバッファーの作成は実行モードのトレースの使用(Edebugの実行モードを参照)と同じではありません。
トレースレコードが有効なときは、関数へのエントリーとexitのたびにトレースバッファーに行が追加されます。関数エントリーレコードは‘::::{’、および関数名と引数の値によって構成されます。関数のexitレコードは‘::::}’、および関数名と関数の結果によって構成されます。
‘:’の数は関数エントリーの再帰レベルを表します。トレースバッファーでは関数呼び出しの開始と終了の検索に‘{’と‘}’を使用できます。
関数edebug-print-trace-before
とedebug-print-trace-after
を再定義することによって、関数エントリーと関数exitのトレースレコードをカスタマイズできます。
このマクロはbodyフォームの実行活動にたいして追加のトレース情報をリクエストする。引数stringはトレースバッファーに配置する‘{’と‘}’の後のテキストを指定する。すべての引数は評価されて、edebug-tracing
はbody内の最後のフォームの値をリターンする。
この関数はトレースバッファーにテキストを挿入する。テキストは(apply 'format format-string
format-args)
によって計算される。エントリー間の区切りとして改行も付け加える。
edebug-tracing
とedebug-trace
は、たとえEdebugが非アクティブでも、呼び出されたときは常にトレースバッファーに行を挿入します。トレースバッファーへのテキストの追加により、挿入された最後の行が見えるようにウィンドウもスクロールします。