Der Debugger hilft bei der
Programmentwicklung. Damit lässt sich der Programmverlauf
Schritt für
Schritt verfolgen. Ebenso können die Inhalte der Variablen
eingesehen
und verändert werden. Haltepunkte (Breakpoints)
können gesetzt werden,
um so das Programm mit praktisch maximaler Geschwindigkeit ablaufen zu
lassen, bis eben ein Haltepunkt erreicht ist. An dieser Stelle
angekommen übernimmt das iL-BIOS des iL-TROLLs die Kontrolle
und sendet
die Variableninhalte sowie die aktuelle Zeilennummer zum PC. Dort wird
diese Information in einem Fenster bedienerfreundlich dargestellt.
Die
Debugfunktion benötigt natürlich Resourcen, sowohl
auf der Seite der
Hardware, alsauch bei der Software. Beim iL-TROLL ist die
Hardwarebeschränkung fest auf einen bestimmten Pin eingestellt. |
Beim
Generieren des Codes, wird vor jeder BASIC-Anweisung der Debugcode
eingefügt. Dieser umfasst lediglich 5 Assemblerbefehle.
Allerdings
können sich diese zusätzlichen Befehle in der Summe
doch stark auf den
Speicherverbrauch des Anwenderprogramms auswirken. Da es aber immer
Bereiche im BASIC-Programm gibt, wo der Debugcode wenig Sinn macht,
kann man dessen Erzeugung durch $TRON und $TROFF steuern. Auch bei
zeitkritischen Routinen, die unbedingt mit der Geschwindigkeit ablaufen
sollen, die sie später in der endgültigen Applikation
erreichen, ist
das Unterdrücken des Debugcodes notwendig.
Ist das Programm
fehlerfrei, wird es erneut, aber ohne Debugcode, compiliert. Das
nachfolgende Bild zeigt einen Bildschirmausdruck des iL_DEBUGs.
|