NodeJS代码的debug
阅读时间:全文 528 字,预估用时 3 分钟
创作日期:2017-11-29
BEGIN
前言
碰到NodeJS代码一直很头痛,固话思维js代码都是在浏览器直接执行的,由于前端的可见即可得加上浏览器的调试工具,页面调试js一直很方便.然后碰到NodeJS的杂乱无章的模块就感觉无从下手,今天搜索NodeJS的debug方法特别记录一下,之前c++调试用的gdb,Python调试用的ipdb操作都相似,没想到NodeJS的调试也是如此.
介绍
- 官网介绍请点击NodeJS debug 🔗.
- 通过
node debug xxx.js
执行js文件可以进入调试模式. - 手动设置断点,代码中增加语句
debugger;
- 命令与调试python的ipdb高度相似.
命令汇总
全称 | 简称 | 说明 |
---|---|---|
cont | c | 继续执行直到碰到断点才会停下 |
next | n | 执行当前行代码 |
step | s | 单步进入 |
out | o | 跳到当前方法外层或退出单步进入 |
pause | - | 鸡肋,并不知道存在的作用 |
setBreakpoint() | sb() | 设置当前行为断点 |
setBreakpoint(lineNum) | sb(lineNum) | 设置指定行为断点 |
setBreakpoint(‘fn()‘) | sb(‘fu()‘) | fn为函数名,在函数fn内代码的第一行设置断点 |
setBreakpoint(‘script.js’, lineNum) | sb(‘script.js’, lineNum) | 在指定文件的指定行设置断点 |
clearBreakpoint(‘script.js’, lineNum) | cb(‘script.js’, lineNum) | 在指定文件的指定行去除断点 |
backtrace | bt | 打印堆栈信息 |
list(lineNum) | - | 显示当前执行行前后lineNum行代码 |
watch(expr) | - | 监控表达式,表达式需用引号引起来 |
unwatch(expr) | - | 取消监控表达式,表达式需用引号引起来 |
watchers | - | 显示所有监控的表达式 |
repl | - | 进入debugger执行环境上下文,可查看变量的值 |
exec expr | - | 执行代码 |
run | - | 继续运行代码,遇到断点不停 |
restart | - | 运行代码并重新开始 |
kill | - | 杀死当前脚本运行的脚本 |
scripts | - | 显示脚本名 |
version | - | 显示v8引擎版本号 |
.exit | - | 退出debuger执行环境,相当于ctrl+D |
node-inspector调试
Node Inspector 是 Node.js 应用程序的调试器接口,通过它可以使用 Blink(Chrome 浏览器内核)开发工具来进行 debugging。
- 本机测试node为6.X版本
- 安装:
npm install -g node-inspector
或yarn global add node-inspector
- 启动:
node-debug app.js
FINISH