Yan*_*aim 3 javascript node.js node-debugger node-cluster
我正在尝试使用本机节点调试器调试节点子进程.例如,请参阅此回购.
我尝试了所有选项之王,根据:debug1,debug1,debug3(以及我在网上找到的很多其他参考资料).
没有那些选项对我有用..
这是我的示例代码:
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}`);
});
Run Code Online (Sandbox Code Playgroud)
child.js:
debugger;
const a = 123;
console.log(a);
Run Code Online (Sandbox Code Playgroud)
然后我跑:
node --debug-brk --inspect=9222 index.js
我打开chrome-devtools://devtools/...镀铬.调试主进程效果很好,我也看到了子进程输出.唯一不起作用的是子过程的调试...
我在这做错了什么?
回答我自己的问题,以防万一有人会遇到和我一样的问题.根据这个问题,解决方案是:
const file = path.resolve('./child.js');
const args = ['--inspect=9228', '--debug-brk', file];
const ls = spawn('node', args);
Run Code Online (Sandbox Code Playgroud)
你必须打开chrome-devtools://devtools/...9222端口+一个新的子进程检查窗口,在端口上9228(因为这是我在这个例子中添加的端口)
你可以在这里看到一个有效的例子
| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |