Spec-Zone.ru › Elisp

Буфер трассировки

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API