Пользователь постоянно видит два окна: DSourсе с исходным текс-
том и выделенным оператором, на котором остановилось выполнение
программы и DКомандное с командами отладчика. Существует так же
DApplicatioп окно. В него можно переходить, чтобы видеть резуль-
таты работы отлаживаемой программы.
Отладчик предоставляет такие возможности:
Переходить между Командным, Source и Application окнами. Вести
в них поиск по шаблону. Находясь в Командном окне вводить ко-
манды ОТЛАДЧИКА. Создавать сокращения для обозначения команд
ОТЛАДЧИКА.
Переключать режимы вывода на терминал информации.
Выходить в операционную систему.
Запускать программу на выполнение, прерывать ее выполнение,
продолжить выполнение, выполнять по шагам.
Сохранять состояние ОТЛАДЧИКА в файле.
Выполнять его команды, записанные в файле.
Расставлять, включать и выключать точки останова и трассировки.
Присваивать значения переменным, вызывать функции.
Выводить на экран значения программных переменных, выражений,
объявления переменных, имена функций, содержащихся в программе,
имена и аргументы функций, активных в данный момент.
Ниже приведен формат всех команд отладчика. DЖирностью выделены
допустимые сокращения команд, не допускающие двусмысленности.
Команды отладчика:
DНELP [command | ALL] используемые в ОТЛАДЧИКЕ команды.
DEХIT закончить работу с ОТЛАДЧИКОМ.
Движение в окнах отладчика
D!UNIX-command выполнить команду операционной системы.
{D/|D?}[шаблон] поиск по шаблону вниз/вверх. CR - повторить.
D^R перерисовать экран
D^Р сохранить текущий экран в файле. (fgldbscr/fglapscr)
D^Т переключиться с экрана ОТЛАДЧИКА на Application экран
DVIEW [module | function]
перейти в Source окно [в конкретную 4GL функцию или модуль.]
Управление течением программы
DRUN [arg [arg ...]] запустить 4GL программу на выполнение
D^С прервать выполнение программы, вернуться в Командное окно
DСОNTINUE [DINTERRUPT | DQUIT]
продолжить выполнение программы, или послать ей ^C или Quit
DSТEP [n] [INTO] [NOBREAK] выполнить [n] 4GL операторов.
[CALL не как один] [без остановов]
Показать значения
DFUNCTIONS [шаблон] [>> filename]
вывести имена программно-об'явленых 4GL функций
DVАRIABLE [variable | GLOBALS | ALL] [>> filename]
показать объявления переменных
DDUМP [GLOBALS | ALL] [>> filename]
вывести имена и значения локальных переменных текущей функции
DPRINT expression [ { >> filename | PROGRAMM = programm-name ]
показать значение выражения
или отправить BLOB на программу обработки
DWНERE [>> filename] показать стек вызовов и активные переменные
Настройка текущего сеанса
DUSE [[=] directory-name [, ...]]
указать маршрут поиска файлов с исходным текстом.
DALIAS {name = cmd_str | *}
назначить команде ОТЛАДЧИКА имя или функциональную клавишу.
DАРРLICATION [DEVICE] device-name
перенаправить вывод 4GL программы на второй терминал.
DGROW [SOURCE 9 | COMMAND 10 ] nlines
изменить размеры Командного и Source окон.
DTURN {[ON | OFF]} {[AUTOTOGGLE оп ] [DISPLAYSTOPS оп ]
[EXITSOURCE оп ] [PRINTDELAY оff ] [SOURCETRACE оff ]}
включить / выключить режимы показа терминала ОТЛАДЧИКА.
DTIМEDELAY [SOURCE 1 | COMMAND 0 ] number
Как часто выводить справки.
Запоминание / восстановление состояния отладчика
DWRITE [BREAK] [TRACE] [DISPLAY] [ALIASES] [>>] [filename]
сохранить в файле команды, устанавливающие точки останова, tra-
сеpoints, сокращения, директории поиска, или терминальные пара-
метры показа. Если файл не указан, то записывается в инициали-
зирующий файл ОТЛАДЧИКА Dрrogramma.4db
DRЕАD filename выполнить команды ОТЛАДЧИКА из файла.
Точки останова и прерывания
DLIST [BREAK] [TRACE] [DISPLAY]
показать текущие точки останова, tracepoints, параметры показа.
[неактивная] [останов раз в count]
DВREAK [*] [(function)] ["name"] [-count]
{[module.]line-no | variable | function]} [IF condition]
[{commands}] поставить точку останова
DNOВREAK {name | refno | function | ALL} удалить точку останова.
DTRАСE [*] [(function)] ["name"] {[module.]line-no | variable |
function | FUNCTIONS} [{commands}] [>> filename]
установить tracepoint на операторе, функции, при изменении зна-
чения переменной.
DNОТRACE {name | refno | function | ALL} удалить tracepoint.
DDISABLE {name | refno | function | ALL}
выключить точку останова или tracepoint.
DENАВLE {name | refno | function | ALL}
включить точку останова или tracepoint.
Переписывание значений переменных
DDАТАВASE database-name указывает текущую базу данных
DCLEANUP [ALL] инициализация, сброс всех наработанных величин
DСАLL function ([arg [,...]])
выполнить функцию и показать возвращенное значение.
DLЕТ variable = expression
присвоить значение выражения переменной.