无法使用 VSCode 调试器找到节点进程

Cannot find Node process using VSCode Debugger

我正在测试 VS Code 节点调试器,但在尝试附加到 运行 进程时找不到任何节点进程。

这是我的 launch.json 文件:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "attach",
            "name": "Attach by Process ID",
            "processId": "${command:PickProcess}"
        }
    ]
}

我的 package.json 文件的内容:

  "scripts": {
    "start": "node --inspect=0.0.0.0:9229 ./bin/www"
  }

使用'npm start'启动进程后,我按'start debug',节点进程列表为:

看起来 this 和 none 是我刚启动的服务器。 即使在我关闭节点服务器后,这个列表仍然存在。

为什么我在 VSCode 进程附加中看不到我的任何 运行 节点进程?

P.s。我正在密切关注 this 使用 VS Code 调试 Node.js 的教程。

你是 运行 npm start 中处于调试模式的 NodeJS 吗?您需要使用 --inspect 标志。没有这个标志,NodeJS 解释器将不会打开调试端口到 VSCode 以附加到。

参考:https://nodejs.org/en/docs/guides/debugging-getting-started/

另一种选择是使用端口定义进行附加。我通常在 launch.json:

中做这样的事情
{
  "type": "node",
  "request": "attach",
  "name": "Attach",
  "port": 9229,
  "restart": true,
  "sourceMaps": true,
  "protocol": "inspector"
}

然后我启动 NodeJS 进程:node --inspect=0.0.0.0:9229 start.js