Open huruji opened 5 years ago
启动文件时添加 --inspect 命令可以启用检查器,默认端口号是 9229,启动器的客户端可以通过通过连接这个端口来进行调试,最简单的就是通过 chrome dev tool 打开 chrome://inspect 来打开 dev tools 进行调试。
--inspect
chrome://inspect
node --inspect index.js
默认端口是 9229 ,可以指定其他端口,如:
9229
node --inspect=9002 index.js
这个时候需要打开 chrome://inspect 配置对应的端口去连接,当然为了方便,可以安装如 NIM 、Node.js V8 Inspector的浏览器插件帮助我们快速切换端口。
为了更加方便的自动在开头打断点,可以将 --inspect-brk 替代 --inspect:
--inspect-brk
node --inspect-brk=9002 index.js
在对应的 bin 文件中加入对应的 --inspect 参数即可:
bin
#!/usr/bin/env node --inspect-brk
简单的单文件调试,目前直接 F5 就可以调试,为了更强大的功能,可以通过配置对应项目的 launch.json 文件。
F5
launch.json
child_process
子进程调试是一个非常尴尬的问题,最简单的方法就是启动子进程时将 --inspect-brk 参数传递进去,同时需要将对应的端口号传递进去:
process.execArgv.push('--inspect-brk=9009') childProcess.fork(path.resolve(__dirname, './child.js'), ['--inspect-brk=9002'])
childProcess.spawn(process.execPath, ['--inspect-brk=9009', path.resolve(__dirname, './child.js')])
那么问题来了,那这样如何区分开发和线上环境?
ndb 是 Google 出的调试工具,内置了可以自动 attach,这样在开发多进程的应用时会方便很多。
最简单的调试
启动文件时添加
--inspect
命令可以启用检查器,默认端口号是 9229,启动器的客户端可以通过通过连接这个端口来进行调试,最简单的就是通过 chrome dev tool 打开chrome://inspect
来打开 dev tools 进行调试。默认端口是
9229
,可以指定其他端口,如:这个时候需要打开
chrome://inspect
配置对应的端口去连接,当然为了方便,可以安装如 NIM 、Node.js V8 Inspector的浏览器插件帮助我们快速切换端口。为了更加方便的自动在开头打断点,可以将
--inspect-brk
替代--inspect
:cli application 调试
在对应的
bin
文件中加入对应的--inspect
参数即可:使用 VS Code 调试
简单的单文件调试,目前直接
F5
就可以调试,为了更强大的功能,可以通过配置对应项目的launch.json
文件。调试
child_process
子进程调试是一个非常尴尬的问题,最简单的方法就是启动子进程时将
--inspect-brk
参数传递进去,同时需要将对应的端口号传递进去:那么问题来了,那这样如何区分开发和线上环境?
使用 ndb
ndb 是 Google 出的调试工具,内置了可以自动 attach,这样在开发多进程的应用时会方便很多。