nodejs调试方法

Nodejs调试方法

1. Node debug

Nodejs提供了一个内建调试器来帮助开发者调试应用程序。使用debug模式时,Node.js 会启动Debugger模块,然后通过监听默认 5858 端口将命令行的输入传送到内建调试模块以达到调试的目的。

同时支持--debug 和 --debug-brk参数。这两个参数只会启动Debugger监听模式,不会进入命令行调试模式,而且前者会运行完所有代码,通常可用于事件调试,后者会在进入时中断,方便从头开始调试。

运行:node debug [需要调试的js]

调试命令说明:


repl 打开js上下文即时求值环境,可查看变量
run 执行脚本,在第一行暂停
restart 重新执行脚本
cont, c 继续执行,直到遇到下一个断点
next, n 单步执行
step, s 单步执行并进入函数
out, o  从函数中步出
setBreakpoint(), sb()   当前行设置断点
setBreakpoint(‘f()’), sb(...)   在函数f的第一行设置断点
setBreakpoint(‘script.js’, 20), sb(...) 在 script.js 的第20行设置断点
clearBreakpoint, cb(...)    清除所有断点
backtrace, bt   显示当前的调用栈
list(5) 显示当前执行到的前后5行代码
watch(expr) 把表达式 expr 加入监视列表
unwatch(expr)   把表达式 expr 从监视列表移除
watchers    显示监视列表中所有的表达式和值
kill    终止当前执行的脚本
scripts 显示当前已加载的所有脚本
version 显示v8版本

2. Node inspector

node-inspector是基于Node.js的Debugger模块进行调试的,是通过websocket方式来转向debug输入输出的。因此,我们在调试前要先启动node-inspector来监听Nodejs的debug调试端口。

安装: npm install –g node-inspector
运行:node-inspector & 或 node-inspector --web-port=5100 //启动调试,默认8080端口或者指定端口
node --debug-brk [需要调试的js] 或 node-debug [需要调试的js]

控制台会返回debugger listening on port 5858, 现在打开浏览嚣,访问 http://localhost:8080/debug?p... ,这时候就会打开一个很像Chrome内置调试工具的界面,并且代码断点在第一行,下面就可以使用这个来调试了。

缺点:页面不能刷新,每次调试需要重新运行 “node-debug [需要调试的js]"

3. V8_inspector

现如今,新版本的Chrome浏览器和新版本的Node.js支持通过一个新的调试协议能互相直接通讯了,就不再需要node-inspector了。

环境:

  • Node.js 6.3+
  • chrome 55+
  • 需下载 Chrome 浏览器 Canary 版 (Canary 版是专为开发者和早期用户设计的版本,可能会造成浏览器当机)

步骤:

  • 下载Chrome浏览器Canary版,打开 chrome://flags/#enable-devtools-experiments (启用开发者工具实验性功能)
  • 重启Chrome。打开开发者工具 -> 设置 -> Experiments,按SHIFT键6次,显示隐藏选项后勾选Node debugging
  • 在终端输入指令: node –-inspect [需要调试的js]。用Canary版浏览器打开终端输出的链接。

4. webstorm

安装webstorm,webstorm也是一个好软件,支持多平台。特别提醒ws是是一个商业收费软件,可以试用30天。

安装: webstorm编辑器

使用: 配置debug调试的配置信息(如下图)。再点击debug

图片描述

图片描述

图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值