JavaScript debuggen
JMobile Studio und JMobile HMI Runtime enthalten einen JavaScript-Debugger.
Es sind zwei Arten von Debugger verfügbar:
- Runtime-Debugger: Ein Debugger, der direkt auf dem Bediengerät ausgeführt wird
- Remote-Debugger: Ein Debugger, der auf einem Remotecomputer ausgeführt wird, der mit dem Bediengerät über ein Netzwerk verbunden ist (Für gewöhnlich führt der Computer JMobile Studio aus)
Debuggen aktivieren
Setzen Sie im Eigenschaftenbereich einer Seite JavaScript Debug auf true.
Für Planer- und Alarm-debuggen aktivieren Sie JavaScript Debug in den Projekteigenschaften.
In der JMobile HMI Runtime, wenn die Ereignisse aufgerufen werden, wird der Debugger die Debug-Informationen anzeigen. Im Bereich Lokal können Sie alle Variablen und Elemente untersuchen.
Ein komplettes Nachschlagewerk über den JavaScript-Debugger finden Sie unter:
http://qt-project.org/doc/qt-4.8/qtscriptdebugger-manual.html
Remote-JavaScript-Debugger
Pfad: Ausführen> Remote-JavaScript-Debugger starten
- Setzen Sie die Parameter Remote-JavaScript-Debugging zulassen und die JavaScript Debug in den Projekteigenschaften aller Seiten, die ein Debugging benötigen, auf true.
- Laden Sie das Projekt herunter: Folgende Meldung wird in der Runtime angezeigt.
- Wählen Sie im Fenster des JS Debuggers die IP des HMI-Geräts aus und klicken Sie auf Anfügen, um den Debugger mit dem HMI-Gerät zu verbinden.
Der Remote-JavaScript-Debugger verbindet sich über Port 5100/TCP mit der JMobile HMI Runtime.
Hinweis: Das Tool Remote JavaScript Debugger wird von HMI Client nicht unterstützt.
JavaScript Speicherauslastung
Wenn der Speicher das Maximum überschreitet, wird eine Speicherausnahme zusammen mit einer benutzerdefinierten Meldung ausgegeben. Bitte beachten Sie, dass wir keine genaue Kontrolle über die tatsächliche Speichernutzung haben, weshalb es sich um eine sanfte Beschränkung handelt. Darüber hinaus können wir die Zuteilung (dies wird die Maschinenumsetzung unterbrechen) nicht verbieten, sodass eine Ausnahme nur dann ausgelöst wird, wenn der Speicher die Begrenzung bereits überschritten hat. Vor der Ausgabe der Ausnahme wird eine automatische Speicherbereinigung erzwungen, um zu sehen, ob etwas Speicher befreit werden kann.
Auf die JavaScript Speichergrenze kann vom globalen Objekt $EngineMemory zugegriffen werden. Der Standardwert ist 16 MB. Dies ist für eine typische JavaScript-Nutzung ausreichend (überwiegend Kontrolle, ohne viele Zuweisungen).
- $EngineMemory.setLimit()
Legt den maximal erlaubten Speicher für JavaScript fest (der standardmäßige Grenzwert ist 0x00FFFFFF) - $EngineMemory.getLimit()
Erhält den maximal für JavaScript erlaubten Speicher - $EngineMemory.getSize()
Erhält den momentan von JS (fastMallocStat) benutzten Speicher
Testspeicherausnahme
Um Speicherausnahmen zu erzeugen und zu testen, können Sie die folgenden Ausschnitte verwenden. Bitte beachten Sie, dass wir, um in der Lage zu sein, das Speicherlimit auf 0xFFFFFFFF zurückzusetzen, die Warnung ausführen müssen, andernfalls müssen die Speicherzuordnungen dann die Warnung, dass dies fehlschlagen ist, einblenden.