При использовании Edebug вы можете указывать точки останова в тестируемой программе — это места, где выполнение должно останавливаться. Вы можете установить точку останова в любой точке останова, как определено в Использование Edebug. Для установки и снятия точек останова затрагивается первая точка останова на или после точки в буфере с исходным кодом. Вот команды Edebug для работы с точками останова:
Установить точку останова в точке останова на или после точки (edebug-set-breakpoint). Если вы используете префиксный аргумент, точка останова является временной — она отключается при первом же останове программы. В месте точки останова помещается оверлей с лицом edebug-enabled-breakpoint или edebug-disabled-breakpoint.
Снять точку останова (если она есть) в точке останова на или после точки (edebug-unset-breakpoint).
Снять все точки останова в текущей форме (edebug-unset-breakpoints).
Переключить отключение точки останова рядом с точкой (edebug-toggle-disable-breakpoint). Эта команда полезна в основном тогда, когда точка останова условна и воссоздание условия потребовало бы некоторых усилий.
Установить условную точку останова, которая останавливает программу, только если вычисление условия даёт значение, отличное от nil (edebug-set-conditional-breakpoint). С префиксным аргументом точка останова является временной.
Переместить точку к следующей точке останова в текущем определении (edebug-next-breakpoint).
Находясь в Edebug, вы можете установить точку останова с помощью b и снять её с помощью u. Сначала переместите точку в желаемую точку останова Edebug, затем нажмите b или u, чтобы установить или снять там точку останова. Снятие точки останова там, где она не была установлена, не даёт эффекта.
Повторное вычисление или переинструментирование определения удаляет все его предыдущие точки останова.
Условная точка останова проверяет условие каждый раз, когда программа доходит до этого места. Любые ошибки, возникающие при вычислении условия, игнорируются, как если бы результатом было nil. Чтобы установить условную точку останова, используйте x и укажите выражение условия в минибуфере. Установка условной точки останова в точке останова, где ранее уже была установлена условная точка останова, помещает предыдущее выражение условия в минибуфер, чтобы вы могли его отредактировать.
Вы можете сделать условную или безусловную точку останова временной, используя префиксный аргумент с командой установки точки останова. Когда временная точка останова останавливает программу, она автоматически снимается.
Edebug всегда останавливается или приостанавливается в точке останова, за исключением случая, когда режим Edebug находится в состоянии Go-nonstop. В этом режиме он полностью игнорирует точки останова.
Чтобы узнать, где находятся ваши точки останова, используйте команду B, которая перемещает точку к следующей точке останова после текущей точки в пределах той же функции или к первой точке останова, если следующих точек останова нет. Эта команда не продолжает выполнение — она лишь перемещает точку в буфере.