Rastrejador de depuració
Aquest menú us permet inspeccionar l'estat de les variables en el moment en què s'executa el codi. Això pot ser molt útil per arreglar un script que ha deixat de funcionar o simplement durant la fase de depuració.

Per fer servir la funcionalitat de depuració, cal que col·loqueu una instrucció de depuració dins del codi amb la sintaxi següent: debug(parameter : text); quan el codi es processa i s'arriba a la instrucció debug, es crea una entrada a la vista Rastrejador de depuració, amb el contingut del paràmetre com a títol i, a sota, una estructura de totes les variables disponibles en aquell moment amb els seus valors actuals.
Nota: podeu afegir a la cadena de text qualsevol variable que us interessi especialment per veure'n el valor a l'instant a la finestra del Rastrejador de depuració, però assegureu-vos que en sigui de tipus text! (per exemple, debug("Debug point 1 : " + Variable1); )
Si observem de prop la finestra de depuració, veurem que cada vegada que s'executa la instrucció debug es crea una línia nova.
Aquesta línia conté el nom del punt de depuració, que és el text passat com a paràmetre a la funció debug, per exemple: debug("my debug point").
Al començament de la línia també es mostra el temps transcorregut des de la línia de depuració anterior. Això ajuda a avaluar el rendiment del codi (vegeu més amunt). La primera línia sempre té el valor «start».
Aquesta línia de depuració conté al seu torn tantes línies de variable com variables s'hagin declarat a l'script abans de la instrucció debug. Cada línia de variable inclou el nom, el tipus, el valor i un fragment del codi on es declara la variable.
Ús dins de bucles
Col·locar un debug dins d'un bucle us permet veure l'estat de les variables a cada iteració del bucle. També podeu veure el temps dedicat a cada iteració. A l'exemple següent, el retard és inferior o igual a 1 ms.
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;

Però si hi afegim una instrucció costosa en temps d'execució, com ara la instrucció «select», veurem que el temps entre iteracions augmenta considerablement.
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;

Col·locant una instrucció debug abans i després d'un bloc d'script, podeu mesurar el temps total d'execució de l'script:
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;

