Skip to content

VSCode (Win10): Debugging/Breakpoints nur unterhalb .dev-server/ #286

@Acgua

Description

@Acgua

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:
image

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:
image

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

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

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:

  1. Standard-ioBroker zur Sicherheit gestoppt: Öffnen der ioBroker-Konsole (z.B. mit [WIN+s > iob > Enter]).
    In der Konsole: iob stop ausführen, und nach Ausführung Konsole schließen.
  2. Neue Windows-Konsole z.B. mit [WIN+s > cmd > Enter] öffnen und cd C:\iobroker\DEV1\node_modules ausführen.
  3. npx @iobroker/create-adapter ausführen, "typische" Einstellungen, Sprache: JavaScript, Name: mytest03-js (d.h. Adapter-Pfad = C:\iobroker\DEV1\node_modules\ioBroker.mytest03-js). Option "dev-server" aktiviert.
  4. VS Code öffnen, Menü: "Datei/Ordner öffnen...", Verzeichnis C:\iobroker\DEV1\node_modules\ioBroker.mytest03-js wählen.
  5. Terminal öffnen (sollte jetzt im o.g. Pfad sein, falls nicht: cd C:\iobroker\DEV1\node_modules\ioBroker.mytest03-js ausführen).
  6. In Terminal dev-server watch --noStart ausführen.
  7. Debugger öffnen (CTRL+SHIFT+d), Oben neben "Ausführen und Debuggen" auf Zahnrad, "node" wählen, und in der nun neu erzeugten launch.json den 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
        },     
    ]
}
  1. In Debugger oben unter "Ausführen und debuggen" den neuen Eintrag "Launch" auswählen.
  2. Debugging mit F5 starten

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions