SYMDEB предоставляет пользователю возможность вставить в тело тестируемой программы набор точек выхода, достижение которых при исполнении кода, вызовет прекращение работы программы, выдачу на дисплей текущего состояния всех флагов и регистров в формате команды R и возврат в SYMDEB.
Ниже описаны команды манипуляции с точками выхода.
1. Установка точки выхода. Синтаксис:
BP [<число>]<адрес>[<счетчик пропусков>] ["<команды>"]
Точка выхода вставляется по указанному адресу. Точки выхода, вставляемые по команде BP, в отличие от точек выхода, создаваемых командой G, остаются в теле программы (в памяти, разумеется) до тех пор, пока не будут удалены командой BC.
SYMDEB позволяет устанавливать до 10 точек выхода с номерами от 0 до 9. Если специфицировано <число>, оно задает номер вставляемой точки, в противном случае подразумевается первая доступная точка.
<Адрес> может определять начало некоторой реальной инструкции.
<Счетчик пропусков> задает число «холостых» выполнений точки выхода, когда ее действие игнорируется, до первого ее срабатывания. Счетчик хранится как 16-битовое число.
<Команды> SYMDEB будут выполняться при каждом срабатывании точки выхода. Друг от друга они должны отделяться символом;.
2. Изъятие точек выхода. Синтаксис:
BC <список> | *
<Список> представляет собой последовательность целых чисел без знака в пределах от 0 до 9. Точки выхода с номерами из этого списка удаляются из программы. Если специфицировано *, удаляются все точки.
3. Блокировка точек выхода. Синтаксис:
BD <список> | *
Команда выполняет функции, аналогичные функциям команды BC, но точки не удаляются из программы, а временно блокируются до выполнения соответствующей команды BE.
4. Разблокировка точек выхода. Синтаксис:
BE <список> | *
Команда BE противоположна по функциям команде BD.
5. Выдача списка точек выхода. Синтаксис:
BL
По этой команде выдается информация о текущем расположении созданных командой BP точках выхода, включающая номер точки, статус блокировки, адрес, число оставшихся пропусков, в скобках — исходное значение счетчика пропусков, а также номер линии исходного текста, если такие номера используются.
Статус блокировки может принимать следующие значения: e для разблокированной точки, d для заблокированной точки или v для виртуальной точки. Точка выхода считается виртуальной, если она была вставлена в файл в то время, когда он еще не был загружен.