Edebug может записывать трассировку выполнения, сохраняя ее в буфере с именем
*edebug-trace*. Это журнал вызовов и возвратов функций,
показывающий имена функций, их аргументы и значения. Чтобы включить
запись трассировки, установите edebug-trace в значение, отличное от nil.
Создание буфера трассировки не то же самое, что использование режима трассировки выполнения (см. Режимы выполнения Edebug).
Когда запись трассировки включена, каждый вход и выход функции добавляет строки в буфер трассировки. Запись входа функции состоит из ‘::::{’, за которым следуют имя функции и значения аргументов. Запись выхода функции состоит из ‘::::}’, за которым следуют имя функции и результат функции.
Количество ‘:’ в записи показывает глубину рекурсии. Вы можете использовать фигурные скобки в буфере трассировки, чтобы найти соответствующее начало или конец вызовов функций.
Вы можете настроить запись трассировки для входа и выхода функций, переопределив функции
edebug-print-trace-before и
edebug-print-trace-after.
Этот макрос запрашивает дополнительную информацию о трассировке вокруг выполнения
форм body. Аргумент string указывает текст,
который нужно поместить в буфер трассировки после ‘{’ или ‘}’.
Все аргументы вычисляются, и edebug-tracing возвращает значение
последней формы в body.
Эта функция вставляет текст в буфер трассировки. Она вычисляет текст
с помощью (apply 'format format-string format-args).
Она также добавляет перевод строки для разделения записей.
edebug-tracing и edebug-trace вставляют строки в
буфер трассировки всякий раз, когда они вызываются, даже если Edebug не активен.
Добавление текста в буфер трассировки также прокручивает его окно, чтобы показать последние
вставленные строки.