Debugging in Visual Studio 2022

Debugging mittels der Print() Anweisung, wo wir uns Werte oder Texte in die Ausgabe schreiben, funktioniert sehr gut. Aber um die Abläufe in unseren Scripts besser nachvollziehen zu können, nutzen wir hauptsächlich das interaktive live Debugging in Visual Studio. Also das Debuggen während der Ausführung des Scripts in AgenaTrader und debuggen live den Status unseres Scripts in Visual Studio.

Dies bietet den enormen Vorteil, dass wir während der Ausführung des Source Codes in AgenaTrader direkt zu unserem Visual Studio wechseln können. Dort haben wir dann die Möglichkeit, in Echtzeit verschiedene Werte von unseren Variablen zu überprüfen und zu analysieren.

Um unser erstes Live-Debugging durchführen zu können, benötigen wir ein Script, am besten mit einer Print() Anweisung und mit einer oder mehreren Variablen, in AgenaScript, damit wir diese Variablen später interaktiv debuggen können.

Nun stelle sicher das dein AgenaScript gespeichert ist und führe eine Kompilierung in AgenaTrader durch. Nach erfolgreicher Erstellung des neuen Skripts platziere den Indikator auf einem Chart in AgenaTrader. Die Ergebnisse der Print()-Anweisungen werden nun wie gewohnt im Ausgabefenster von AgenaTrader angezeigt.

Nun wechsle zurück in dein Visual Studio und klicke auf Höhe deiner Print() Anweisung auf die linke vertikale Leiste. Wenn du korrekt geklickt hast, erscheint ein roter Haltepunkt (Breakpoint), an welchem später live während der Ausführung des Scriptes die Ausführung angehalten wird und wir genau alle zu diesem Zeitpunkt verfügbaren Variablen betrachten können.

Wenn wir nun die Daten im Chart neu laden oder ein neues Instrument anwählen, dann wird an unserem Haltpunkt noch nicht gestoppt, da Debugging für unser Script in Visual Studio noch nicht aktiviert ist. Um das interaktive Debugging zu aktivieren, klicken wir im Visual Studio auf die Schaltfläche Starten.

Nachdem du auf die Schaltfläche Starten geklickt hast, wird Visual Studio dein Script nochmal kompilieren und der Debugging Vorgang wird gestartet. Nun aktualisieren wir im AgenaTrader die Datenserie im Chart oder klicken einfach auf ein anderes Instrument. Nun sehen wir sofort, dass an dem roten Haltepunkt nun eine gelbe Markierung erschienen ist. Dies bedeutet, dass wir nun live in einer Debugging Ausführung sind und den Wert von Variablen auslesen können.

Wenn du nun deinen Mauszeiger exakt über eine Variablen im Script stellst (ohne zu klicken) erscheint der aktuelle Wert der jeweiligen Variable.

Wenn du nun die Funktionstaste F10 klickst, springt die gelbe Markierung in die nächste Zeile, dies bedeutet, dass wir die Debugging Session noch immer aktiv haben, aber das ausgeführte Programm nun einen weiteren Schritt im Algorithmus gemacht hat. So kannst du zeilenweise deinen gesamten Source Code mitverfolgen und genau kontrollieren, wie sich deine Variablen verändern.

Mit F5 oder der Schaltfläche Weiter kannst du den Vorgang des aktuellen Debuggings abbrechen und das Programm läuft automatisch wieder ganz normal weiter, bis der rote Haltepunkt wieder ausgeführt wird.

Wenn du mit dem Debugging fertig bist und alle Haltepunkte in der aktuellen Ausführung ignorieren möchtest, klickst du auf die Stop Schaltfläche, welche sich rechts neben der Weiter Schaltfläche in Visual Studio befindet.

Print() ist großartig, aber interaktives live debugging ist unverzichtbar in der täglichen Arbeit als Script-Trader!