Xpert.ivy Prozesse Debuggen

Wenn ein Prozess nicht so läuft wie Sie glauben das er laufen sollte, müssen Sie das Problem untersuchen und den Prozess Debuggen.

In diesem Tutorial werde ich Ihnen zeigen, wie Sie Prozesse mit dem Xpert.ivy Designer Debuggen können.

Die Simulation

Das einfachste und zugleich eines der effektivsten Werkzeuge ist die Simulation.
Abb. 1: Simulationseinstellungen
Auf Abbildung 1 sehen Sie wie Sie die Simulation ein- bzw. ausschalten können und wie Sie die Geschwindigkeit anpassen können.

In den Preferences (Window -> Preferences) finden Sie unter Xpert.ivy -> Engine weitere Einstellungen die die Simulation beeinflussen.
Abb. 2: Weitere Simulationseinstellungen
Punkt 1 lässt Sie kontrollieren, ob und wann die Simulation den Prozessfluss simuliert. Mit Punkt 2 können Sie Start Event Beans und Intermediate Event Beans ausführen lassen bzw. unterdrücken. Dies kann praktisch sein, wenn Sie diese Events nicht benötigen.

Die History View

Das nächste Werkzeug ist die History View. Die History View speichert einen Snapshot der Prozessdaten auf jedem Prozesselement zum Zeitpunkt als der Prozess das Element durchlief.

Wenn Sie die Engine starten und einen Prozess ausführen, klicken Sie auf das Prozesselement das Sie interessiert. In der History View sehen Sie dann alle Prozessdaten die zum Zeitpunkt, als das Prozesselement durchlaufen wurde, aktuell waren.
Abb. 3: History View

Breakpoints

Mit Breakpoints können Sie stellen in Ihrem Prozess markieren, an denen die Engine anhalten soll. Wenn die Engine einen Breakpoint erreicht hat, können Sie die Variablen untersuchen.

Um einen Breakpoint auf einem Prozesselement zu setzen, klicken Sie mit der rechten Maustaste auf das Prozesselement und wählen Breakpoint -> Add Breakpoint. Auf dem Prozesselement ist nun eine kleine blaue Kugel zu sehen.

Starten Sie die Engine und einen Prozess. Sobald der Prozess das Prozesselement erreicht, stopp die Prozessausführung.
Abb. 4: Prozessausführung stoppt bei Breakpoint
Auf Abbildung 4 sehen Sie wie der Prozess auf ein Prozesselement mit einem Breakpoint gelaufen ist und angehalten hat. Dies erkennt man an dem blauen Pfeil links neben dem Prozesselement. In der Variables View sehen Sie welche Werte die Variablen zu diesem Zeitpunkt haben.

Nun haben Sie 2 Möglichkeiten. Sie können mit F8 zum nächsten Breakpoint springen, oder per F6 durch jedes nachfolgende Prozesselement steppen.

Conditional Breakpoints

Neben den normalen Breakpoints gibt es auch die so genannten Conditional Breakpoints. Diese stoppen die Ausführung des Prozesses nur, wenn eine gewisse Bedingung erfüllt ist. Beispielsweise wenn ein Zähler einen gewissen Wert erreicht hat.

Um einen Conditional Breakpoint zu erstellen, klicken Sie mit der rechten Maustaste auf das Prozesselement und wählen Breakpoint -> Conditional Breakpoint. Ein Fenster wie in Abbildung 5 geht auf, dass Sie auffordert eine Bedingung einzugeben.
Abb. 5: Bedingung des Conditional Breakpoint eingeben

Breakpoints auf Datenklassen

Die letzte Art von Breakpoint ist der Breakpoint auf einem Datenklassen-Attribut. Öffnen Sie dazu eine Datenklasse und wählen Sie das Attribut aus, auf welchem Sie den Breakpoint setzen wollen.
Abb. 6: Breakpoint auf Datenklassen-Attribut setzen
Beachten Sie den kleinen Bleistift der nun auf dem roten A-Symbol des Attributes zu sehen ist. Dieses weist darauf hin, dass auf diesem Attribut ein Breakpoint ist.

Wenn sich dieses Attribut ändert, wird die Prozessausführung gestoppt. In der Variables View sehen Sie unter dem Eintrag debug den alten und neuen Wert des Attributes.

Breakpoints deaktivieren

Sie können in der Breakpoints View die Breakpoints ein- und ausschalten oder ganz löschen.
Abb. 7: Breakpoints View

Debug Log Statements

Die letzte Technik die ich Ihnen zeigen werde ist das ausgeben von Log Statements. Dazu müssen Sie nur folgenden Code in einem Script-Step ausführen.
Code Snippet 1: Debug Log Statement

Dieses Log Statement wird beim durchlaufen des Script-Step im Runtime Log angezeigt. Sie müssen dazu den Log Level auf Debug einstellen und Filter user logs aktivieren.
Abb. 8: Das Runtime Log
Per Doppelklick auf einen Log Eintrag, öffnet sich ein Fenster mit Details.
Abb. 9: Log Details
Von hier aus können Sie, wie in Abbildung 9 gezeigt wird, direkt auf das Prozesselement springen, welches das Log ausgegeben hat. Dies funktioniert auch für Errors.
Über den Author: Heinrich Spreiter ist der Gründer von xpertivyhacker.ch. Kontaktieren Sie ihn auf Xing und Twitter

Melden Sie sich für den Xpert.ivy hacker Newsletter an und Sie erhalten immer die neusten Tutorials und Tricks zu Xpert.ivy sobald sie publiziert werden.

Ihre Email Adresse wird nur für diesen Newsletter verwendet und nicht an dritte weitergegeben.

Keine Kommentare:

Kommentar posten

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.