Буфер трассировки
Edebug может записывать трассировку выполнения, сохраняя её в буфере с именем *edebug-trace*. Это журнал вызовов и возвратов функций, показывающий имена функций, их аргументы и значения. Для включения записи трассировки установите edebug-trace в значение, отличное от nil.
Создание буфера трассировки отличается от использования режима трассировки выполнения (см. Режимы выполнения Edebug).
При включённой записи трассировки каждая функция входа и выхода добавляет строки в буфер трассировки. Запись входа функции состоит из ‘::::{’, за которой следуют имя функции и значения аргументов. Запись выхода функции состоит из ‘::::}’, за которой следуют имя функции и результат функции.
Количество символов ‘:’ в записи показывает глубину рекурсии. Вы можете использовать фигурные скобки в буфере трассировки, чтобы найти соответствующее начало или конец вызовов функций.
Вы можете настроить запись трассировки для входа и выхода функций, переопределяя функции edebug-print-trace-before и edebug-print-trace-after.
- Макрос: edebug-tracing строка тело…
Этот макрос запрашивает дополнительную информацию о трассировке во время выполнения форм тело. Аргумент строка указывает текст, который необходимо поместить в буфер трассировки после ‘{’ или ‘}’. Все аргументы вычисляются, и
edebug-tracingвозвращает значение последней формы в тело.
- Функция: edebug-trace формат-строка &rest формат-аргументы
Эта функция вставляет текст в буфер трассировки. Она вычисляет текст с помощью
(apply 'format format-string format-args). Также добавляется перевод строки для разделения записей.
edebug-tracing и edebug-trace вставляют строки в буфер трассировки всякий раз, когда они вызываются, даже если Edebug не активен. Добавление текста в буфер трассировки также прокручивает его окно, чтобы показать последние добавленные строки.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Trace-Buffer.html