-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Siehe Forum-Beitrag von OliverIO: https://forum.iobroker.net/post/826766
Bei mir verhält sich das auch so, daher öffne ich jetzt mal dieses Issue.
Issue
VS Code erkennt die Breakpoints nur in <Adapter-Verzeichnis>\.dev-server\default\node_modules\iobroker.<Adapter-Name>\main.js und nicht in <Adapter-Verzeichnis>\main.js
Aufgrund "stopOnEntry": true in der launch.json hält bei "F5" das Debugging hier:

main.js-Pfad: C:\iobroker\DEV1\node_modules\ioBroker.mytest03-js\.dev-server\default\node_modules\iobroker.mytest03-js\main.js
Breakpoints werden ebenso erkannt:

Die C:\iobroker\DEV1\node_modules\ioBroker.mytest03-js\main.js wird aber ignoriert und Breakpoint wie hier auf Zeile 39 gesetzt nicht erkannt.

Diagnose Breakpoint Problems in VS Code, also Ctrl+Shift+P > "Debug: Diagnose Breakpoint Problems", zeigt:

Diagnose Breakpoint Problems, "What scripts and sourcemaps are loaded" listet außerdem ausschließlich Dateien unterhalb von C:\iobroker\DEV1\node_modules\ioBroker.mytest03-js\.dev-server\default\
Verwendetes System und Setup
System:
- Entwicklungsrechner: Windows 10 (alles lokal, nichts remote)
- Standard-ioBroker wurde installiert unter
c:\ioBroker\DEV1\ - Visual Studio Code wird verwendet.
Vorgehensweise:
- Standard-ioBroker zur Sicherheit gestoppt: Öffnen der ioBroker-Konsole (z.B. mit [WIN+s > iob > Enter]).
In der Konsole:iob stopausführen, und nach Ausführung Konsole schließen. - Neue Windows-Konsole z.B. mit [WIN+s > cmd > Enter] öffnen und
cd C:\iobroker\DEV1\node_modulesausführen. npx @iobroker/create-adapterausführen, "typische" Einstellungen, Sprache: JavaScript, Name:mytest03-js(d.h. Adapter-Pfad =C:\iobroker\DEV1\node_modules\ioBroker.mytest03-js). Option "dev-server" aktiviert.- VS Code öffnen, Menü: "Datei/Ordner öffnen...", Verzeichnis
C:\iobroker\DEV1\node_modules\ioBroker.mytest03-jswählen. - Terminal öffnen (sollte jetzt im o.g. Pfad sein, falls nicht:
cd C:\iobroker\DEV1\node_modules\ioBroker.mytest03-jsausführen). - In Terminal
dev-server watch --noStartausführen. - Debugger öffnen (CTRL+SHIFT+d), Oben neben "Ausführen und Debuggen" auf Zahnrad, "node" wählen, und in der nun neu erzeugten
launch.jsonden bestehenden Code mit Folgendem überschreiben:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"request": "launch",
"type": "node",
"args": ["--debug", "0"],
"stopOnEntry": true, // - break immediately when the program launches
"program": "node_modules/iobroker.mytest03-js/main.js", // executable or file to run when launching the debugger
"cwd": "${workspaceFolder}/.dev-server/default", // current working directory for finding dependencies and other files
"skipFiles": ["<node_internals>/**"],
"outputCapture": "std", // https://github.com/ioBroker/dev-docs/issues/35
},
]
}
- In Debugger oben unter "Ausführen und debuggen" den neuen Eintrag "Launch" auswählen.
- Debugging mit F5 starten