我正在学习Node.js,尝试理解沙盒机制。
目前我正在使用Node v4.0.0和node-inspector v0.12.3。
我已经安装了gf3/sandbox模块,并使用以下简单代码运行它:
var s = new Sandbox();
s.run('1 + 1 + " apples"',function(output) {
console.log(output.result);
});
为了方便调试,我还在文件中注释了超时函数:
// timer = setTimeout(function() {
// self.child.stdout.removeListener('output', output);
// stdout = JSON.stringify({ result: 'TimeoutError', console: [] });
// self.child.kill('SIGKILL');
// }, self.options.timeout);
问题在于调试器不能在
shovel.js
的任何代码行上中断,我百分之百确定该模块正在使用自己的代码。这是为什么?我应该怎么做才能调试shovel.js
吗?
debugger
模块的。这就是为什么要使用--debug-brk
。对于node-inspector
,您需要使用它自己的命令和参数,但步骤将相同。我在Windows上,无法测试,因为node-inspector
在Windows上表现不佳。