ScriptDebugger.exe
Defaultne dodávaný exe súbor. Tento nástroj umožňuje ladiť balíčky skriptov, krokovať ich chod, zastavovať na bodoch zastavenia (breakpoints), zisťovať zanorenie vyvolávania (callstack), vyhodnocovať výrazy, zachytávať ladiace hlásenia, zisťovať a meniť hodnoty lokálnych premenných skriptov a pod.

Tento nástroj je určený predovšetkým servisným konzultantom servisnej siete výrobcu a správcom systému. Bežný užívateľ tento nástroj k svojej práci nebude potrebovať.
Nástroj ScriptDebugger pre svoju činnosť vyžaduje desktopový OS Windows 7 a vyššie, prípadne serverový OS Windows 2003 a vyššie. Ďalej je potrebné povoliť na prípadnom firewalle port 8438. Ak je použitý len vstavaný firewall vo Windows, postačí pri nadviazaní povoliť tomuto programu TCP komunikáciu.
Nástroj ScriptDebugger obsahuje mnoho ďalších funkcií a vlastností, ktoré sú obvyklé pre tzv. IDE prostredie, napr. zapnutie zastavovania chodu pri vzniku výnimky v kóde skriptu, zobrazovanie ladiacich informácií odosielaných zo skriptu pomocou vstavanej funkcie OutputDebugString a pod.

Tato volba se nachází v kontextovém menu hlavního okna ScriptDebuggeru vyvolaného pravým tlačítkem myši.
Prostřednictvím této volby se lze připojit ke zvolenému procesu.
Nemusí se jednat nutně o proces ABRA Gen, ale lze "ladit" libovolný spuštěný proces, protože “ladění” probíhá prostřednictvím událostí na úrovni Windows API.
V zobrazeném okně se pak vypisují některé z událostí, které v daném procesu probíhají:
- Zápis prostřednictvím metody OutputDebugString (OUTPUT_DEBUG_STRING_EVENT)
- Spuštění nového procesu (CREATE_PROCESS_DEBUG_EVENT)
- Ukončení procesu (EXIT_PROCESS_DEBUG_EVENT)
- Vzniklé výjimky (EXCEPTION_DEBUG_EVENT)
Obdobnou funkci jako volba Ladit proces má tlačítko Připojit API Debugger. Tato volba je dostupná v ladícím okně připojeného procesu AbraGen.exe.

Typické ladiace sedenie prebieha takto:
- ladené balíčky skriptov musia byť skompilované a musia mať nastavený stav "Ladiť", skripty bez tohto príznaku nie je možné ladiť.
- spustí sa ScriptDebugger, zoznam pripojených klientov bude prázdny
- spustí sa ABRA s ladenými balíčkami a prihlási sa užívateľ, ktorý musí mať privilégium "Ladiť skripty", užívatelia bez tohto privilégia skripty ladiť nemôžu
- v zozname pripojených klientov v ScriptDebuggeri sa objaví spustená ABRA a otvorí sa prázdne pracovné okno klienta
- užívateľ normálne v systéme ABRA pracuje, v okamihu, keď sa zavádza ľubovoľný ladený skript (napr. skript typu "Agenda" pri prvom spustení skriptovanej agendy), zastaví sa jeho vykonávanie a v pracovnom okne ScriptDebuggera sa objaví zdrojový kód skriptu, ukazovateľ stojí na jeho prvom riadku
- v tomto momente je možné:
- spustiť bez ladenia (Chod, F9), v tom prípade sa už počas sedenia chod v tomto skripte nezastaví, tzn. typicky pre ladenie nie je dôležitý
- krokovať (Krok, F8), spracuje sa aktívny riadok skriptu a ukazovateľ sa presunie na ďalší riadok, v prípade vetvenia či cyklov je tak možné podrobne vidieť proces celého skriptu
- spustiť ku kurzoru (Aktuálna pozícia, F4), spustí sa chod bez ladenia, pričom chod sa opäť zastaví v mieste, kde sa v okamihu vyvolania funkcie nachádza kurzor, tzn. typicky je možné bez krokovania preskočiť napr. viacero riadkov alebo dlhý cyklus
- umiestniť do kódu bod zastavenia (dvojklik pred riadok kódu), pri ďalšom vykonávaní skriptu bez ladenia sa chod zastaví na tomto riadku pred jeho vykonaním; body zastavenia je možné doplniť o ďalšie pokročilé atribúty na záložke Body zastavenia, k bodu je napr. možné priradiť výraz, ktorý sa pri prechode skriptu bodom zastavenia vyhodnotí, a skript sa zastaví len v prípade, že je výsledkom pravdivá hodnota (True) a pod.
- vyhodnotiť výraz, zistiť hodnotu premennej alebo ju zmeniť pomocou záložky Nástroje
- prepínať medzi zavedenými skriptami pomocou zoznamu nad zdrojovým kódom skriptu a pracovať s bodmi zastavenia v týchto skriptoch
-
Ručně vyvolat výjimku z breakpointů nebo za přímého běhu. Více informací v příkladu zde.