Spec-Zone.ru › Elisp

Точки останова Edebug

При работе с Edebug можно указать в проверяемой программе точки останова: это места, в которых выполнение должно остановиться. Точку останова можно установить в любой точке останова, как определено в разделе Использование Edebug. При установке и снятии точек останова затрагивается первая точка останова в исходном буфере на текущей позиции или после неё. Ниже перечислены команды Edebug для работы с точками останова:

b

Установить точку останова в точке останова на текущей позиции или после неё (edebug-set-breakpoint). Если использовать префиксный аргумент, точка останова будет временной — она отключится при первой остановке программы. В точке останова размещается оверлей с лицом edebug-enabled-breakpoint или edebug-disabled-breakpoint.

u

Снять точку останова (если она есть) в точке останова на текущей позиции или после неё (edebug-unset-breakpoint).

U

Снять все точки останова в текущей форме (edebug-unset-breakpoints).

D

Переключить состояние отключения точки останова рядом с текущей позицией (edebug-toggle-disable-breakpoint). Эта команда особенно полезна, если точка останова условная и для повторного создания условия потребовались бы дополнительные усилия.

x condition RET

Установить условную точку останова, которая останавливает программу только в том случае, если вычисление condition даёт значение, отличное от nil (edebug-set-conditional-breakpoint). С префиксным аргументом точка останова будет временной.

X condition RET

Установить edebug-global-break-condition в значение condition.

B

Переместить текущую позицию к следующей точке останова в текущем определении (edebug-next-breakpoint).

В Edebug можно установить точку останова с помощью b и снять её с помощью u. Сначала переместите текущую позицию в нужную точку останова Edebug, затем нажмите b или u, чтобы установить или снять точку останова. Попытка снять точку останова, которая не была установлена, ни на что не влияет.

Условная точка останова проверяет условие каждый раз, когда программа достигает этой точки. Все ошибки, возникающие при вычислении условия, игнорируются, как если бы результатом было nil. Чтобы установить условную точку останова, используйте x и укажите выражение условия в минибуфере. При установке условной точки останова в месте, где уже задана условная точка останова, её выражение помещается в минибуфер, чтобы вы могли его отредактировать. (Команду X также можно использовать для задания глобального условия останова, которое вычисляется в каждой точке останова; см. раздел Глобальное условие останова.)

Условную или безусловную точку останова можно сделать временной, используя префиксный аргумент команды установки точки останова. Когда временная точка останова останавливает программу, она автоматически снимается.

Edebug всегда останавливается или приостанавливается в точке останова, кроме режима Edebug Go-nonstop. В этом режиме точки останова полностью игнорируются.

Чтобы узнать, где находятся точки останова, используйте команду B. Она перемещает текущую позицию к следующей точке останова после текущей позиции в пределах той же функции или к первой точке останова, если следующих точек останова нет. Эта команда не продолжает выполнение — она только перемещает текущую позицию в буфере.

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Breakpoints.html

Spec-Zone.ru

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