Spec-Zone.ru › Elisp

Параметры отладчика Edebug

Эти параметры влияют на поведение отладчика Edebug:

Пользовательский параметр: edebug-setup-hook

Функции, которые вызываются перед использованием отладчика Edebug. Каждый раз, когда ему присваивается новое значение, Edebug вызовет эти функции один раз, а затем сбросит edebug-setup-hook на nil. Это можно использовать для загрузки спецификаций Edebug, связанных с используемым пакетом, но только при использовании Edebug. См. Инструментирование.

Пользовательский параметр: edebug-all-defs

Если это значение не nil, обычная обработка определения форм, таких как defun и defmacro инструмент их для Edebug. Это относится к eval-defun, eval-region, eval-buffer, и eval-current-buffer.

Используйте команду M-x edebug-all-defs для переключения значения этого параметра. См. Инструментирование.

Пользовательский параметр: edebug-all-forms

Если это значение не nil, команды eval-defun, eval-region, eval-buffer, и eval-current-buffer инструмент все формы, даже те, которые ничего не определяют. Это не относится к загрузке или оценкам в минибуфере.

Используйте команду M-x edebug-all-forms для переключения значения этого параметра. См. Инструментирование.

Пользовательский параметр: edebug-eval-macro-args

Если это значение не nil, все аргументы макросов будут инструментированы в сгенерированном коде. Для любого макроса объявление debug переопределяет этот параметр. Таким образом, для указания исключений для макросов, у которых некоторые аргументы оцениваются, а некоторые нет, используйте объявление debug для указания спецификации формы Edebug.

Пользовательский параметр: edebug-save-windows

Если это значение не nil, Edebug сохраняет и восстанавливает конфигурацию окна. Это занимает некоторое время, поэтому, если вашей программе неважно, что происходит с конфигурациями окон, лучше установить эту переменную в nil.

Если значение является списком, сохраняются и восстанавливаются только указанные окна.

Вы можете использовать команду W в Edebug для интерактивного изменения этой переменной. См. Обновление отображения Edebug.

Пользовательский параметр: edebug-save-displayed-buffer-points

Если это значение не nil, Edebug сохраняет и восстанавливает позицию в всех отображаемых буферах.

Сохранение и восстановление позиции в других буферах необходимо, если вы отлаживаете код, который изменяет позицию буфера, отображаемого в невыбранном окне. Если Edebug или пользователь затем выберут окно, позиция в этом буфере переместится в значение позиции окна.

Сохранение и восстановление позиции во всех буферах дорого, так как это требует дважды выбора каждого окна, поэтому активируйте это только в случае необходимости. См. Обновление отображения Edebug.

Пользовательский параметр: edebug-initial-mode

Если эта переменная не nil, она указывает начальный режим работы Edebug при его первом активации. Возможные значения - step, next, go, Go-nonstop, trace, Trace-fast, continue, и Continue-fast.

Значение по умолчанию - step. Эту переменную можно установить интерактивно с помощью C-x C-a C-m (edebug-set-initial-mode). См. Режимы выполнения Edebug.

Пользовательский параметр: edebug-trace

Если это значение не nil, отслеживать вход и выход каждой функции. Вывод отслеживания отображается в буфере с именем *edebug-trace*, по одной записи входа или выхода функции на строке, отступом, соответствующим уровню рекурсии.

Также см. edebug-tracing, в Буфер отслеживания.

Пользовательский параметр: edebug-test-coverage

Если не nil, Edebug проверяет покрытие всех отлаживаемых выражений. См. Тестирование покрытия.

Пользовательский параметр: edebug-continue-kbd-macro

Если не nil, продолжить определение или выполнение любой клавиатурной макрокоманды, выполняющейся вне Edebug. Используйте с осторожностью, так как она не отлажена. См. Режимы выполнения Edebug.

Пользовательский параметр: edebug-print-length

Если не nil, значение по умолчанию для print-length при печати результатов в Edebug. См. Переменные вывода.

Пользовательский параметр: edebug-print-level

Если не nil, значение по умолчанию для print-level при печати результатов в Edebug. См. Переменные вывода.

Пользовательский параметр: edebug-print-circle

Если не nil, значение по умолчанию для print-circle при печати результатов в Edebug. См. Переменные вывода.

Пользовательский параметр: edebug-unwrap-results

Если не nil, Edebug пытается удалить любую свою инструментацию при отображении результатов выражений. Это актуально при отладке макросов, где результаты выражений являются сами по себе инструментированными выражениями. В качестве весьма искусственного примера, предположим, что функция fac была инструментирована, и рассмотрим макрос вида:

(defmacro test () "Edebug example."
  (if (symbol-function 'fac)
      …))

Если вы инструментируете макрос test и продвигаетесь по нему, то по умолчанию результат вызова symbol-function содержит множество форм edebug-after и edebug-before, что затрудняет просмотр фактического результата. Если edebug-unwrap-results не nil, Edebug пытается удалить эти формы из результата.

Пользовательский параметр: edebug-on-error

Edebug связывает debug-on-error с этим значением, если debug-on-error ранее было nil. См. Перехват ошибок.

Пользовательский параметр: edebug-on-quit

Edebug связывает debug-on-quit с этим значением, если debug-on-quit ранее было nil. См. Перехват ошибок.

Если вы измените значения edebug-on-error или edebug-on-quit во время работы Edebug, их значения не будут использованы до следующего запуска Edebug через новую команду.

Пользовательский параметр: edebug-global-break-condition

Если не nil, выражение, проверяемое на каждой точке остановки. Если результат не nil, то произойдёт остановка. Ошибки игнорируются. См. Глобальное условие остановки.

Пользовательский параметр: edebug-sit-for-seconds

Количество секунд приостановки, когда достигнута точка останова, и режим выполнения - отслеживание или продолжение. См. Режимы выполнения Edebug.

Пользовательский параметр: edebug-sit-on-break

Должно ли происходить приостановки на edebug-sit-for-seconds при достижении точки останова. Установите в nil чтобы предотвратить паузу, в не-nil чтобы разрешить её.

Пользовательский параметр: edebug-behavior-alist

По умолчанию этот список содержит одну запись с ключом edebug и список из трёх функций, которые являются реализациями функций по умолчанию, вставленных в инструментированный код: edebug-enter, edebug-before и edebug-after. Чтобы изменить поведение Edebug глобально, измените запись по умолчанию.

Поведение Edebug также можно изменить на основе определения, добавив запись в этот список с ключом по вашему выбору и тремя функциями. Затем установите свойство символа edebug-behavior у инструментированного определения в ключ новой записи, и Edebug вызовет новые функции вместо своих для этого определения.

Пользовательский параметр: edebug-new-definition-function

Функция, выполняемая Edebug после обертывания тела определения или замыкания. После инициализации Edebug своих данных, эта функция вызывается с одним аргументом, символом, связанным с определением, который может быть фактическим определённым символом или сгенерированным Edebug. Эта функция может быть использована для установки свойства символа edebug-behavior каждого инструментированного определения Edebug.

Пользовательский параметр: edebug-after-instrumentation-function

Чтобы инспектировать или изменять инструментацию Edebug до её использования, установите эту переменную в функцию, которая принимает один аргумент — инструментированную форму верхнего уровня, и возвращает либо ту же, либо заменяющую форму, которую 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/Edebug-Options.html

Spec-Zone.ru

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