vscode nodejs远程调试RPi

时间:2020-07-03 10:26:47

标签: node.js visual-studio-code vscode-remote

我试图设置VScode以在Raspberry Pi 4上调试远程nodejs应用程序。我使用VScode-Insiders和带有Remote-SSH的Remote Development扩展(每晚)。 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"
    },

1 个答案:

答案 0 :(得分:0)

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

在服务器上

导航到您的项目:

cd /path/to/my/project/

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

node --inspect=0.0.0.0:9229 ./index.js

在本地开发系统上

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

ssh -L 9221:localhost:9229 username@remote.com

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

在VS Code中添加以下配置:

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

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

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