vti.laborator.org/lgp

Ladění programů v Prologu

Využití ladících informací ve vývojovém prostředí SWI-Prolog

SWI-Prolog obsahuje grafický debugger, ale ponechává možnost kontrolovat debug proces z konzole.

V menu "Prolog" jsou všechny možnosti týkající se debug módu.

Menu Prolog v SWI-Prologu

Při použití predikátu "debug." v konzoli, se budou ladící informace vypisovat pouze do konzole. Sledovací bod přidáme tak, že kurzor umístíme libovolně na řádek s požadovaným predikátem a výbereme "Spy" z menu. Bod se přidá. Nástrojem pro editaci sledovacích a trasovacích bodů (okno zobrazíme "Edit spypoints" z menu) si přidání můžeme zkontrolovat, případně pak ikonou nůžek smazat.

Přidání sledování a zapnutí debug módu

Konzolový výpis v debug módu se zobrazí při zpracování sledovaného predikátu. Po výpisu provedených kroků nabídne možnosti dalšího jednání a čeká na příkaz. Pokračování zajistí možnost Creep, zkratkou "c" nebo mezerníkem či enterem.

Debug mód při zastavení na sledovaném bodě

Volbou "Debug" v editoru sledovacích bodů aktivujeme pro ladění grafický debbuger. Ten nabízí přehlednější výpis aktuálního dění na sledovaných bodech, včetně grafu backtrackingu.

Grafický debug mód při zastavení na sledovaném bodě

Obě možnosti ladění jsou ale příliš podrobné a lehce nepřehledné. Praktičtější informace poskytuje "trace.", respektive přidávání Trace-pointů místo Spy-pointů (ikona oka místo agenta v editoru sledovacích bodů). Vypisuje pouze procházenou cestu mezi predikáty. Nepouživá grafický debugger, a informace v konzoli je daleko více čitelná.

Výpis při trasování programu

Po ladění je třeba použít příslušný predikát ("nodebug." nebo "notrace."), nebo vypnout debug mód pomocí editoru sledovacích bodů.