我有一个 NodeJs 模块“some-module”,我想全局安装它,这样它就可以直接从命令行运行,而无需节点可执行前缀。即:$> some-module [args]
我希望其中一个论点是--debug
. 这样做的原因是我不想要求这个模块的用户将它安装到他们的本地目录只是为了运行node --debug-brk node_modules/some-module/[path to entry point] [args]
.
NodeJs 文档在其关于调试的高级用法部分中声明(http://nodemanual.org/latest/nodejs_ref_guide/debugging.node.js.html)
V8 调试器可以通过使用
--debug
命令行标志启动 Node.js 或通过使用SIGUSR1
.
我尝试这样做:
process.kill(process.pid, 'SIGUSR1');
这产生了错误:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Unknown signal: SIGUSR1
at EventEmitter.kill (node.js:366:17)
at Object.<anonymous> (c:\dev\some-module\app.js:94:17)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)
我需要做什么才能让正在运行的进程切换到调试模式?
另外,我想用节点检查器调试给定的应用程序。