4. Funktionsweise des Debuggers

4.1. ICS Launch (32-Bit) / ICS Launch (64-Bit)

Mit dem Befehl “ICS-Launch” können sie ICS-Skripte direkt aufrufen und debuggen. Allerdings können im Vergleich zur ICS-Listen-Methode keine Optionen dynamisch übergeben werden.

Wählen sie im Dropdown-Menü “ICS Launch (32Bit)” oder “ICS Launch (64Bit)” aus.

Sie können nun das aktuell ausgewählte Skript, in unserem Fall debug_test.cfg, debuggen.

Lassen sie das Skript laufen, indem Sie den grünen Run-Button neben der Auswahlliste betätigen.

Nun befinden wir uns im Debug-Modus.

Abbildung 7.

4.2. ICS Listen

Mit dem Befehl “ICS-Listen” können wir uns an beliebige ICS-Skripte, welche wir über Command-Befehle laufen lassen, anhängen. Zudem können die ICS-Parameter bzw. Optionen frei gesetzt werden.

Wählen sie im Dropdown-Menü “ICS Listen” aus.

Lassen sie den ICS-Listener laufen, indem Sie den grünen Run-Button neben der Auswahlliste betätigen.

Nun wechseln sie zum Terminal und wählen, falls noch nicht der Fall, “Command Prompt” als Default-Shell aus.

Abbildung 8.

Geben sie im Terminal den Befehl: system\bin\ics.exe -script \script\debug_test.cfg -xdebug ein.

Nun befinden wir uns im Debug-Modus.

4.3. Erläuterung Debugging

Im Debug-Modus sehen wir nun verschiedene Bereiche und die Steuerungseinheit des Debuggers oben rechts.

Abbildung 9.

4.3.1. Variabeln

Unter den Variablen sind die lokalen-, globalen- und falls vorhanden, die klassenspezifischen Variablen, zu finden.

4.3.2. Watch

Im Reiter Watch können Variablen und auch Ausdrücke ausgewertet werden.

Beispiele: “IN” oder “OUT” oder “‘IN’ EXISTS”

4.3.3. Call Stack

Im Call Stack ist die Aufrufhierarchie zu finden. Falls Prozeduren in eingebundenen Skripten (Bibliotheken, Modulen) aufgerufen werden, kann die Aufrufreihenfolge der Skripte sehr gut nachvollzogen werden.

4.3.4. Breakpoints

Hier sind alle gesetzten Haltepunkte aufgelistet. Sie können über Rechtsklick auch eine Kondition für den Breakpoint setzen. Die Kondition muss TRUE oder FALSE zurückliefern.

Beispiel: VAR.I = 0

4.3.5. Steuerung

Die Steuerung setzt sich aus den Befehlen “Run”, “Step Over”, “Step Into”, ”Step Out”, “Restart” und “Stop” zusammen.

Abbildung 10.

Befehl “Run”: Führt das Skript bis zum nächsten Haltepunkt, oder bis zum Ende des Skripts, aus.

Befehl “Step Over”: Ausführung bis zur nächsten Zeile im selben Skript.

Befehl “Step Into”: Ausführung bis zur nächsten Zeile. Spring in die Unterprozedur, falls verfügbar.

Befehl “Step Out”: Springt aus der aktuellen Prozedur zurück in die aufzurufende Prozedur.

Befehl “Restart”: Stoppt das Skript und startet den Debugger neu.

Befehl “Stop”: Stoppt das Skript und beendet den Debugger.