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
环境:编辑器
步骤:
打开开发者工具 -> 设置 -> Experiments
,按SHIFT键6次,显示隐藏选项后勾选Node debuggingnode –-inspect [须要调试的js]
。用Canary版浏览器打开终端输出的连接。4. webstorm
安装webstorm,webstorm也是一个好软件,支持多平台。特别提醒ws是是一个商业收费软件,能够试用30天。
安装: webstorm编辑器
使用: 配置debug调试的配置信息(以下图)。再点击debug