Debuggen von JavaScript

Debuggen von JavaScript

Einführung

Im Unterschied zu serverseitigen VBS-Events bietet enaio® bei der Verwendung von JavaScript in Serverevents die Möglichkeit an, diese direkt gegen den enaio® server zu debuggen. Diese können zu ihrer Laufzeit im System angehalten und genau untersucht werden. Skriptänderungen während des Debugging-Prozesses können wie gewohnt über enaio®scripteditor angefertigt werden.

Das Debuggen erfolgt über die bei Webentwicklern bekannten Chrome DevTools (CDT) innerhalb des Chrome® Browsers. Vorher muss der Debugging Host konfigurativ in enaio® server aktiv geschaltet werden. Das Debugging kann per Konfiguration pro Event eingeschränkt werden. Außerdem ist es möglich, im Skript direkt über das rc.inspector Interface Brechpunkte zu setzen und den Debugger anzusprechen.

Ob diese Möglichkeit während des produktiven Betriebs verwendet werden kann, muss im Projekt sorgfältig abgewogen werden, da das Debuggen nicht auf einen einzigen angemeldeten Benutzer beschränkt werden kann, sondern immer den oder die konfigurierten Events betrifft. Näheres entnehmen Sie bitte dem Abschnitt Verbinden zum Chrome DevTools (CDT). In Testsystemen bietet sich dadurch aber die Gelegenheit, die Funktionalität und Fehlerfreiheit des projektseitigen Skriptcodes wirksam sicherzustellen. 

Es können sowohl Allgemeine / DMS-Serverskripte und auch Workflow-Skripte debugged werden. Die verwendete Skriptengine V8 bietet dafür eine Inspector-Schnittstelle an, die in enaio Verwendung findet. Es kann hier sowohl direkt auf dem Serverrechner als auch Remote von einem beliebigen Rechner aus ein Serverskript debugged werden, vorausgesetzt die Erreichbarkeit zwischen Serverrechner und Remote-Rechner ist gegeben. Das Debugging selbst wird über CFG-Dateien im Serververzeichnis konfiguriert/aktiviert, die im Abschnitt Grundlegende Konfiguration beschrieben sind. Es ist beim Debugging gezielt steuerbar, dass die Ausführung des Skripte pausiert bis sich ein Debugger verbindet, oder dass der per Browser angeschlossene Debugger beim Ausführen eines Skripts benachrichtigt wird und der Benutzer im Falle eines Debugging-Wunsches an dieser Stelle tätig werden kann. Die Skriptausführung wird an dieser Stelle kurz angehalten, der Benutzer im Browser benachrichtigt. Wird der Debugging-Wunsch im Browser nicht bestätigt, läuft das Skript nach kurzer Pause weiter. Durch die auftretenden Wartezeiten auf die Interaktion des Script-Entwicklers ist die Performance des enaio® server bezüglich der konfigurierten Events sehr reduziert.

Die genaueren Zusammenhänge von Konfiguration des Debuggers, der Interaktion und Steuerbarkeit aus einem Skript heraus und das Debugging selbst sind in den folgenden Abschnitten beschrieben.