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

Posted

技术标签:

【中文标题】使用 VSCode 调试器找不到节点进程【英文标题】:Cannot find Node process using VSCode Debugger 【发布时间】:2019-05-02 23:01:40 【问题描述】:

我正在测试 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”,节点进程列表为:

1 sssd_pam 1 sssd_nss 1 sssd_be

看起来像this,这些都不是我刚刚启动的服务器。 即使在我关闭节点服务器后,此列表仍然存在。

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

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

【问题讨论】:

请将脚本发布到您的 package.json 文件中,以便我们提供帮助。可能是 NPM 启动脚本有问题。 编辑帖子以包含该内容。 在 npm 脚本中添加 --inspect=0.0.0.0:9229 后,它现在可以工作了。谢谢! 很高兴能帮上忙! 【参考方案1】:

您是否在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

【讨论】:

以上是关于使用 VSCode 调试器找不到节点进程的主要内容,如果未能解决你的问题,请参考以下文章

使用 VSCode 的节点调试器时是不是可以黑盒供应商代码? [复制]

命令“颤振:新项目”导致错误(找不到命令“颤振.createProject”),我无法在 VSCODE 上调试颤振项目

错误记录OD 调试器附加进程时找不到进程 ( CE 工具可以附加进程 )

Python VsCode:找不到 parser.pyx

关于VScode调试Java出现在path中找不到node和classpath不完整怎么解决?

vscode 中flutter找不到模拟器