在subprocess上使用Node.js命令行debugging器?
我使用Node客户端debugging器,如下所示:
节点debuggingmyscript.js
但是这个过程会产生一个孩子使用:
var child = require(“child_process”)。fork(cmd,args);
有没有办法让这个孩子也可以在“debugging”模式下启动?
是。 你必须在一个新的端口上产生你的进程。 有一个解决方法来debugging群集,就像你可以做的那样:
var debug = process.execArgv.indexOf('--debug') !== -1; if(debug) { //Set an unused port number. process.execArgv.push('--debug=' + (5859)); } var child = require("child_process").fork(cmd, args);
debugging程序在端口5859上侦听
不是问题。 所有你需要做的就是发送debugging信号到正在运行的进程。 查看节点检查员文档,find启用debugging模式
我不能告诉你如何做一个debug-brk,我不确定你可以,但你总是可以做一些代码
而(真){}debugging器
所以你可以捕获debugging语句,然后手动退出循环。 肮脏的我知道=)
这是另一种方式,这将使孩子在一个自由端口上进行debugging:
// Determine if in debug mode. // If so, pass in a debug-brk option manually, without specifying port. var startOpts = {}; var isInDebugMode = typeof v8debug === 'object'; if(isInDebugMode) { startOpts = {execArgv: ['--debug-brk']}; } child_process.fork('./some_module.js', startArgs, startOpts);