nodejs调试方法

Nodejs调试方法

1. Node debug

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

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

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

调试命令说明:chrome

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

安装: 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内置调试工具的界面,而且代码断点在第一行,下面就可使用这个来调试了。websocket

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

3. V8_inspector

现现在,新版本的Chrome浏览器和新版本的Node.js支持经过一个新的调试协议能互相直接通信了,就再也不须要node-inspector了。webstorm

环境:编辑器

  • 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

图片描述

图片描述

图片描述

相关文章
相关标签/搜索