NEWS
JS mit Visual Studio Code debuggen
-
Geht das? Wenn ja, wie? Ich kann zwar gegen node.js auf der lokalen Maschine debuggen, aber da fehlen dann die ganzen IO-Broker Dinge wie getState etc. Kann mann irgendwie extern gegen node.js auf der IO-Broker Maschine debuggen?
-
@wolfgangfb
Willst du ein Script des javascript Adapters debuggen oder einen Adaptercode?Den Adaptercode im Zuge eine Adapterentwicklung kannst du mit vsCode debuggen.
Stichworte dazu: dev-server, create-adapter https://www.iobroker.devWeoiters empfehle ich dir dich bei telegramm iobroker-adapter-development.starters anzumelden. Invite auf www.iobroker.dev.
Bezüglich script das im javascript adapter läuft ezweifle ich dass das geht - kann aber sein, dass ich falsch liege.
-
@mcm57
Ich möchte Skripte aus dem Javascript Adapter debuggen.
Wenn das aber nicht remote geht. Wie kann man die denn vernünftig auf dem IO-Broker Rechner debuggen? -
@wolfgangfb said in JS mit Visual Studio Code debuggen:
@mcm57
Ich möchte Skripte aus dem Javascript Adapter debuggen.
Wenn das aber nicht remote geht. Wie kann man die denn vernünftig auf dem IO-Broker Rechner debuggen?Da kann ich leider nicht helfen - oder anders gesagt: Hab keine Ahnung. Sorry.
-
@wolfgangfb sagte in JS mit Visual Studio Code debuggen:
Ich möchte Skripte aus dem Javascript Adapter debuggen.
Expertenmodus, dann auf den "Käfer" klicken.
Dadurch wird ein Child-Process gestartet mit den nötigen node-inspect Optionen. Das passiert dann aber alles im Browser. Aber so richtig rund lief das glaube ich noch nie.
Zumindest verwende ich das nicht. Theoretisch könnte man wahrscheinlich auch einen externen Debugger einhängen wie VSCode.
-
@wolfgangfb
https://marketplace.visualstudio.com/items?itemName=nokxs.iobroker-javascriptKannst mit dem Plugin machen
-
@scrounger sagte in JS mit Visual Studio Code debuggen:
Kannst mit dem Plugin machen
Ist ein paar Jahre her, dass ich mich mit dem Plugin beschäftigt habe, aber debugging ging damit nicht (meine ich). Dafür müsste ja auch das Script im Debug-Mode (mit
--inspect
) gestartet werden. Kann das Plugin das mittlerweile alles? -
Bisher sind meine ioBroker - Fingerübungen in Javascript noch nicht so umfangreich geworden, dass ich wirklich debugging gebraucht hätte.
Sollte der Javascript-Code aber so komplex werden, dass man ggfs. mal im Single-Step durch irgendwelche Code-Sequenzen gehen wollte, würde ich es vielleicht vermissen....Vielleicht kann man den entsprechende Code in einer Funktion isolieren, oder in eine "Tester-Funktion" einpacken, und ihn separat in einer Node-JS Entwicklungsumgebung debuggen.
Wenn man fertig ist, dann wieder über die Zwischenablage in das ioBroker Script-Editor-Fenster
-
@scrounger sagte in JS mit Visual Studio Code debuggen:
@wolfgangfb
https://marketplace.visualstudio.com/items?itemName=nokxs.iobroker-javascriptKannst mit dem Plugin machen
Das Plugin habe ich ich (sonst könnte ich ja nicht mit VSCode IO-Broker JS bearbeiten), aber ich finde eben nichts um da in den Debug Mode zu kommen.
-
@wolfgangfb
Achso sorry hab wieder net richtig gelesen. Kannst halt das Log von dem Skript ausgeben lassen, echtes Debugging mit Haltepunkten, etc geht damit meines Wissens nach nicht.
Evtl. Mal nen Feature requests stellen vlt. gibt's ja ne Möglichkeit das zu implementieren -
@wolfgangfb
Für solche Fälle baue ich mir einfach für die iobroker spezifischen Befehle die man verwendet entsprechende dummy Befehle, die einfach statisch ein entsprechendes Ergebnis zurückgibt. Diese könnte man dann beliebig komplex bauen (bspw für getState)
Damit kann man dann ganz gut entwickeln und debuggen.Der letzte integrations schritt dann im JavaScript Adapter kann man dann noch entsprechende log Befehle einbauen um zu prüfen ob man in den dummy Funktionen alle Fälle abgedeckt und getestet hat