我试图设置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"
},
答案 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中启动“调试远程”配置。
现在,当您在浏览器中加载请求时,代码将在您的断点处停止。