我正在测试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启动"启动进程后,我按下"启动调试",节点进程列表为:
- 1 sssd_pam
- 1 sssd_nss
- 1 sssd_be
看起来像这样,但这些都不是我刚刚启动的服务器。即使在我关闭节点服务器之后,此列表仍然存在。
为什么我在VSCode进程连接中看不到任何正在运行的节点进程?
附言:我正在密切关注这篇关于使用VS代码调试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