【发布时间】:2021-02-07 13:58:50
【问题描述】:
我正在尝试在 Macbook 上设置 VSC 以在 Raspberry Pi 上远程调试 nodejs。
Node 在 Pi 上使用 Inspector (--inspect-brk) 运行,似乎有一些连接,但既没有打开 .js 文件,也没有编辑器跳转到第一行。
我遵循了这个指示:https://github.com/BretStateham/pinodevscode
我已经用谷歌搜索了 3 个晚上,但没有成功。为了检查,如果远程调试通常有效,我已经在我的 Macbook 上设置了一个附加到 nodejs 的远程调试配置(这就像一个魅力)。当我尝试用 RPi 做完全相同的事情时(所以我基本上在配置中放置了不同的 IP 地址和 RemoteRoot)它不再工作。
这是我到目前为止在 Pi 设置中所做的:
- 按照https://github.com/BretStateham/pinodevscode 中的说明进行操作
- 我的 samba 共享名为 DEV,映射到 /home/user,我的代码位于子文件夹 MYCODE 中
- 我可以通过 SSH 在 RPi 的终端上运行我的脚本
- 我首先尝试使用默认端口 9229,后来移动到其他端口,遵循某处类似帖子的建议,但没有成功
- 我可以启动
node -inspect-brk:192.168.178.42:9229 app.js,它报告inspector 正在侦听端口,当我从Mac 扫描时,我可以看到端口打开 - 我已经根据 VSC 中的模板设置了启动配置(见下文)
- 当我运行配置时,状态栏变为橙色,表示已连接,但 .js 文件未打开(因为它在附加到本地脚本的配置中)并且没有任何反应(还有附加到Pi GPIO 没有做任何事情,所以脚本似乎在等待调试器附加)
- 调试器按钮(Step Over、Step into、Step out)保持灰显状态
- 我在想,根路径的同步可能有问题(这有时很棘手,当我过去使用 Eclipse 时),但我检查了几次: Pi 通过挂载的 Samba 共享和 Pi 上文件的远程路径指向相同的文件。
- 我已在配置中打开“跟踪”。日志显示成功连接到远程系统,但我无法真正弄清楚,出了什么问题
- 我对本地(工作)设置的日志文件和远程(失败)设置的日志文件进行了比较(见下文)。除了路径、IP、会话 ID 和时间戳之外,在本地设置中开始实际调试通信之前只有很少的差异
- 我尝试使用从本地系统到远程系统的 SSH 隧道,而不是在 RPi 上公开检查器端口(如检查器文档中所建议的那样),但情况完全相同
我在launch.json中的配置:
"address": "192.168.178.42",
"localRoot": "${workspaceFolder}",
"name": "Attach to Remote",
"trace": true,
"port": 9229,
"remoteRoot": "/home/user/MYCODE",
"request": "attach",
"skipFiles": [
"<node_internals>/**"
],
"type": "pwa-node"
},
远程设置的 Runtime.launch 标记。 (端口包含在 URL 中)
{
"tag": "runtime.launch",
"timestamp": 1603657311615,
"message": "Discovered target URL from /json/list",
"metadata": {
"url": "ws://192.168.178.42:9229/c403f26a-422c-4a79-aa59-30b108cc0b51",
"fixed": "ws://192.168.178.42:9229/c403f26a-422c-4a79-aa59-30b108cc0b51"
},
"level": 0
}
本地设置的Runtime.launch标签。 (端口不包含在 URL 中)
{
"tag": "runtime.launch",
"timestamp": 1603655650439,
"message": "Discovered target URL from /json/list",
"metadata": {
"url": "ws://localhost/94b1ced4-4eb9-4ca6-a710-c175393f6220",
"fixed": "ws://localhost:9229/94b1ced4-4eb9-4ca6-a710-c175393f6220"
},
"level": 0
}
这可能是问题吗?
【问题讨论】:
标签: node.js macos visual-studio-code raspberry-pi remote-debugging