Sie können eine Applikation Schritt für Schritt ausführen und dabei durch den Code navigieren. Das ist hilfreich, um den Status Ihres Codes zur Laufzeit zu ermitteln. Sie können dabei den Aufrufablauf untersuchen, Variablenwerte verfolgen oder Fehler ermitteln.
Dafür stehen Ihnen im Menü „Debug“ Schrittbefehle zur Verfügung. Die Befehle werden verfügbar, wenn Sie während des
Onlinebetriebs Haltepunkte setzen und dann die Ausführung an einem Haltepunkt anhält:
Die Applikation ist im Zustand „HALT AUF BP“ (Debugbetrieb). Während des Debugbetriebs wird die aktuelle Halteposition gelb hinterlegt
und in den Texteditoren mit dem Symbol gekennzeichnet.
In Debugbetrieb wechseln
-
Laden Sie Ihre Applikation auf eine Steuerung.
Die Applikation ist grün gekennzeichnet. CODESYS und die Editoren der Programmierbausteine sind im Onlinebetrieb.
-
Setzen Sie in den Programmierbausteinen Haltepunkte an den Stellen im Code, die Sie untersuchen wollen.
In der Ansicht „Haltepunkte“ sind alle aufgelistet.
-
Starten Sie die Applikation.
Die Applikation startet, der Code wird abgearbeitet bis zum ersten Haltepunkt.
Die Applikation ist nun im Debugbetrieb. Im Gerätebaum ist die Applikation mit „[Stop an Haltepunkt]“ gekennzeichnet. Die Statuszeile informiert über den Betriebszustand:
Der Editor mit der aktuelle Halteposition wurde geöffnet. Die Codezeile mit aktivem Haltepunkt, an der die Programmausführung angehalten wurde, ist gelb hinterlegt und mit dem Symbol
gekennzeichnet. Diese gelb gekennzeichnete Anweisung wurde noch nicht ausgeführt.
Nun können Sie die verschiedenen Schrittbefehle wählen oder sich den Aufrufbaum anzeigen lassen.
Alternativ können Sie erst die Applikation starten und dann einen Haltepunkt setzen.
Verhalten der Schrittbefehle des Menüs 'Debug'
-
Befehl
„Prozedurschritt“ ("Step Over")
Die Anweisung an der Halteposition wird ausgeführt. Vor der nächsten Anweisung im Programmierbaustein wird angehalten.
Wenn in der Anweisung ein Aufruf ist (von einem Programm, einer Funktionsbaustein-Instanz, einer Funktion, einer Methode oder einer Aktion), wird der untergeordnete Programmierbaustein in einem Schritt vollständig durchlaufen.
-
Befehl
„Einzelschritt“ ("Step Into")
Die Anweisung an der Halteposition wird ausgeführt. Vor der nächsten Anweisung wird angehalten.
Wenn in der Anweisung ein Aufruf ist (von einem Programm, einer Funktionsbaustein-Instanz, einer Funktion, einer Methode oder einer Aktion), wird in diesen untergeordneten Programmierbaustein gesprungen. Die erste Anweisung dort wird ausgeführt und vor der nächsten Anweisung wird angehalten. Die neue aktuelle Halteposition ist dann im aufgerufenen Programmierbaustein.
-
Befehl
„Ausführen bis Rücksprung“ ("Step Out")
Der Befehl führt den Programmierbaustein von der aktuellen Halteposition bis zum Bausteinende aus und springt dann zurück in den aufrufenden Programmierbaustein. An der Aufrufstelle (in der Zeile mit dem Aufruf) wird angehalten.
Wenn die aktuelle Halteposition im Hauptprogramm ist, wird der Programmierbaustein bis zum Ende durchlaufen. Dann wird zurück an den Anfang (an den Programmstart an die erste Codezeile im Programmierbaustein) gesprungen und dort angehalten.
-
Befehl
„Ausführen bis Cursor“ ("Run to Cursor")
Setzen Sie zunächst den Cursor an eine beliebige Codezeile und wählen Sie dann den Befehl. Das Programm wird ab der aktuellen Halteposition ausgeführt und hält an der aktuellen Cursorposition an, ohne den Code dieser Zeile auszuführen.
-
Befehl
„Nächste Anweisung festlegen“ ("Set Next Statement")
Setzen Sie zunächst den Cursor an eine beliebige Codezeile (auch vor der aktuellen Halteposition) und wählen Sie dann den Befehl. Die mit dem Cursor gekennzeichnete Anweisung wird als nächstes ausgeführt. Alle Anweisungen dazwischen werden ignoriert und übersprungen.
-
Befehl
„Nächste Anweisung anzeigen“ ("Show Next Statement")
Wenn Sie die aktuelle Halteposition nicht sehen, wählen Sie den Befehl. Dann wird das Fenster mit der aktuellen Halteposition aktiv und die Halteposition sichtbar.
Wählen Sie den Befehl „Ansicht Aufrufliste“, um für die aktuell in der Programmabarbeitung erreichte Halteposition der bisherige Aufrufbaum vollständig anzuzeigen.
Die Ansicht „Aufrufliste“ zeigt jederzeit, also schon vor dem Kompilieren (Übersetzen) der Applikation, wo sich der Baustein in der Aufrufstruktur des Programms befindet.