* Fix forking while debugging Debugger address in use no longer happens * Fix cropper errorv1.18.x
parent
bb6dcf3779
commit
1c35213934
@ -0,0 +1,41 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
var fork = require('child_process').fork;
|
||||||
|
|
||||||
|
var debugArg = process.execArgv.find(function (arg) {
|
||||||
|
return /^--(debug|inspect)/.test(arg);
|
||||||
|
});
|
||||||
|
var debugging = !!debugArg;
|
||||||
|
|
||||||
|
debugArg = debugArg ? debugArg.replace('-brk', '').split('=') : ['--debug', 5859];
|
||||||
|
var lastAddress = parseInt(debugArg[1], 10);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* child-process.fork, but safe for use in debuggers
|
||||||
|
* @param {string} modulePath
|
||||||
|
* @param {string[]} [args]
|
||||||
|
* @param {any} [options]
|
||||||
|
*/
|
||||||
|
function debugFork(modulePath, args, options) {
|
||||||
|
var execArgv = [];
|
||||||
|
if (global.v8debug || debugging) {
|
||||||
|
lastAddress += 1;
|
||||||
|
|
||||||
|
execArgv = [debugArg[0] + '=' + lastAddress, '--nolazy'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Array.isArray(args)) {
|
||||||
|
options = args;
|
||||||
|
args = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
options = options || {};
|
||||||
|
options = Object.assign({}, options, {
|
||||||
|
execArgv: execArgv,
|
||||||
|
});
|
||||||
|
|
||||||
|
return fork(modulePath, args, options);
|
||||||
|
}
|
||||||
|
debugFork.debugging = debugging;
|
||||||
|
|
||||||
|
module.exports = debugFork;
|
@ -1,16 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
module.exports = function (execArgv) {
|
|
||||||
execArgv = execArgv || process.execArgv;
|
|
||||||
var debugArg = execArgv.find(function (arg) {
|
|
||||||
return /^--(debug|inspect)/.test(arg);
|
|
||||||
});
|
|
||||||
if (global.v8debug || debugArg) {
|
|
||||||
debugArg = debugArg ? debugArg.split('=') : ['--debug', 5859];
|
|
||||||
var num = parseInt(debugArg[1], 10) + 1;
|
|
||||||
|
|
||||||
return { execArgv: [debugArg[0] + '=' + num, '--nolazy'] };
|
|
||||||
}
|
|
||||||
|
|
||||||
return { execArgv: [] };
|
|
||||||
};
|
|
Loading…
Reference in New Issue