Edebug 可以记录执行跟踪信息,并将其存储在名为 *edebug-trace* 的缓冲区中。
该缓冲区是函数调用与返回的日志,包含函数名、参数及返回值。
将 edebug-trace 设置为非nil 值即可启用跟踪记录。
创建跟踪缓冲区与使用跟踪执行模式(see Edebug 运行模式)并非同一概念。
启用跟踪记录后,每次函数进入和退出都会向跟踪缓冲区添加行。 函数进入记录以 ‘::::{’ 开头,后跟函数名和参数值; 函数退出记录以 ‘::::}’ 开头,后跟函数名和函数返回结果。
记录中 ‘:’ 的数量表示递归深度。 你可以通过跟踪缓冲区中的大括号找到函数调用对应的开始和结束位置。
你可以通过重新定义函数 edebug-print-trace-before 和 edebug-print-trace-after,
自定义函数进入和退出时的跟踪记录行为。
该宏请求在 body 表达式执行前后记录额外的跟踪信息。
参数 string 指定要添加到跟踪缓冲区中 ‘{’ 或 ‘}’ 后的文本。
所有参数都会被求值,edebug-tracing 返回 body 中最后一个表达式的值。
该函数向跟踪缓冲区插入文本。
文本内容通过 (apply 'format format-string format-args) 计算得出,
并自动追加换行符以分隔不同记录。
无论 Edebug 是否激活,调用 edebug-tracing 和 edebug-trace 时都会向跟踪缓冲区插入行。
向跟踪缓冲区添加文本时,其对应的窗口也会自动滚动以显示最新插入的行。