无法debugging节点subprocess(使用节点本机debugging器)

我试图debugging节点subprocess,使用本地节点debugging器。 例如,看这个回购 。

我尝试了所有的选项王,根据: debug1 , debug1 , debug3 (和我在网上find很多其他的参考)。

非这些选项为我工作..

这是我的示例代码:

index.js:

const spawn = require('child_process').spawn; const path = require('path'); const ls = spawn('node', [path.resolve('./child.js')], {execArgv: '--debug-brk=4545'}); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`child process exited with code ${code}`); }); 

child.js:

 debugger; const a = 123; console.log(a); 

然后我运行:

node --debug-brk --inspect=9222 index.js

我打开chrome-devtools://devtools/... debugging主进程的效果很好,我也看到了subprocess的输出。 只有不工作的东西是subprocess的debugging…

我在这里做错了什么?

回答我自己的问题,以防万一有人遇到同样的问题。 根据这个问题 ,解决办法是:

 const file = path.resolve('./child.js'); const args = ['--inspect=9228', '--debug-brk', file]; const ls = spawn('node', args); 

您将不得不打开chrome-devtools://devtools/...带有9222端口+一个用于subprocess的新的检查窗口,在端口9228 (因为这是我在本例中添加的端口)

你可以在这里看到一个工作的例子