vscode nodejs 远程调试 RPi

csk*_*csk 6 node.js visual-studio-code vscode-remote

我正在尝试设置 VScode 来调试 Raspberry Pi 4 上的远程 Nodejs 应用程序。我使用 VScode - Insiders 和带有远程 - SSH 的远程开发扩展(每晚)。SSH 连接工作得很好,我可以轻松调试远程 Python 程序。当我启动 nodejs 程序 (test.js) 时,什么也没有发生。在调试控制台中我只看到:/usr/bin/node test.js然后什么也没有发生。我可以在 VScode 终端中执行同一行,它会按预期运行。我的启动配置如下,节点调试可在远程使用。有人可以帮我吗?

    {
        "name": "Launch Program",
        "program": "${workspaceFolder}/test.js",
        "request": "launch",
        "skipFiles": [
            "<node_internals>/**"
        ],
        "type": "node"
    },
Run Code Online (Sandbox Code Playgroud)

Jak*_*kub 3

在以下示例中,您的项目将驻留在服务器上的 /path/to/my/project 中,并且您的应用程序将称为 index.js。

在服务器上

导航到您的项目:

cd /path/to/my/project/
Run Code Online (Sandbox Code Playgroud)

--inspect运行您的应用程序,通过将参数设置为您将从本地系统隧道进入的端口来激活检查器:

node --inspect=0.0.0.0:9229 ./index.js
Run Code Online (Sandbox Code Playgroud)

在本地开发系统上

设置到您的服务器的 SSH 隧道(替换username@remote.com为您的用户名和服务器地址):

ssh -L 9221:localhost:9229 username@remote.com
Run Code Online (Sandbox Code Playgroud)

服务器的端口 9229 现在已映射到本地主机的端口 9221。

在 VS Code 中添加以下配置:

{
    "type": "node",
    "request": "attach",
    "name": "Debug remote",
    "protocol": "inspector",
    "address": "localhost",
    "port": 9221,
    "sourceMaps": true,
    "localRoot": "${workspaceFolder}",
    "remoteRoot": "/path/to/my/project/"
}
Run Code Online (Sandbox Code Playgroud)

在代码中设置断点并在 VS Code 中启动“调试远程”配置。

当您在浏览器中加载请求时,代码现在将在断点处停止。