0

要调试 Node.js 进程,我使用:

node --inspect-brk foo_bar.js

但是,如果该实例将启动另一个单独的实例,而这个实例将是 - 如何在调试模式下运行该实例呢?

问题是,我正在为 Node.js 使用 command.js 库,如下所示

var program = require('commander')
...
program.parse(process.argv)

这会创建另一个 Node.js 进程实例,因此我失去了调试功能(我正在通过 Chromium 浏览器进行调试)。我该如何克服呢?

4

1 回答 1

0

注意:如果您使用独立的可执行文件实现子命令,Commander 只会创建另一个进程。

Commander 检测到传递给节点调用的调试器选项,并将它们传递给子进程,调试端口加 1。

例如

// index.js
const { program } = require('commander');

program
  .command('sub', 'stand-alone');

console.log('1');
console.log('2');

program.parse();
// index-sub.js
console.log('3');
console.log('4');
% node --inspect-brk index.js sub
Debugger listening on ws://127.0.0.1:9229/25005682-6bf4-44fb-bdb2-2cc7749bb328
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
1
2
Debugger listening on ws://127.0.0.1:9230/00d1924a-3122-4bef-86f2-65d562fbf3ed
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
3
4
于 2021-04-12T10:22:24.683 回答