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

Чтобы воспользоваться отладкой, поставьте в коде инструкцию отладки со следующим синтаксисом: debug(parameter : text); Когда код дойдёт до этой инструкции, во вкладке «Отладчик» появится запись: содержимое параметра станет её заголовком, а под ним будет показана структура всех доступных в этот момент переменных с их текущими значениями.
Примечание: любую особо интересующую вас переменную можно добавить прямо в текстовую строку, чтобы сразу увидеть её значение в окне отладчика, — но следите за тем, чтобы тип был текстовым! (например, debug("Debug point 1 : " + Variable1); )
Если присмотреться к окну отладки, видно, что при каждом выполнении инструкции debug создаётся новая строка.
В этой строке указано имя точки отладки — текст, переданный параметром в функцию debug, например: debug("my debug point").
В начале строки также показано время, прошедшее с предыдущей строки отладки. Это помогает оценивать быстродействие кода (см. выше). У первой строки всегда значение «start».
Сама эта строка отладки содержит столько строк переменных, сколько переменных объявлено в скрипте до инструкции debug. В каждой строке переменной указаны имя, тип, значение и фрагмент кода, где переменная объявлена.
Использование в циклах
Если поставить debug внутрь цикла, вы увидите состояние переменных на каждом витке. Видно также время, потраченное на каждый виток. В примере ниже задержка не превышает 1 мс.
let a := select Customer
let d := for i in a do
debug("for each customer");
i.'first name' + " " + i.'last name';
end;
debug("all customers");
d;

Но если добавить дорогую по времени выполнения инструкцию, например «select», станет видно, что время между витками заметно вырастает.
let a := select Customer
let d := for i in a do
let e := select Invoice where Customer = i;
debug("for each customer");
i.'first name' + " " + i.'last name' + " " + sum(e.TOTAL);
end;
debug("all customers");
d;

Поставив инструкцию debug до и после блока скрипта, можно измерить общее время его выполнения:
debug("start of script");
let a := select Customer
let d := for i in a do
i.'first name' + " " + i.'last name';
end;
debug("end of script");
d;

