调试模块及其应用程序
实际应用一般都不是一个小工程,所以需要把程序划分成多个小的模块。如果需要检查程序模块内部的运行情况,则可以用到几个工具。
一、Node内置调试器
如果使用console.log
检查变量在很多情况都不方便,不过可以使用JS V8虚拟机导出的一个可受Node支持的调试接口,如果需要暂停执行来检查程序,可以使用Node内置调试器。
-
首先可以使用调试命令启动脚本:
node debug my_app.js
这样会以调试模式启动Node,并且使用调试器。这个操作虽然会启动你的程序,但是会在第一行中断,可以在控制台看到调试器的提示信息以及当前指令的位置。
-
继续下一条指令:
debug> next
这将执行下一条语句并在统一作用域的下一条指令处中断。
-
如果是进入函数之中,可以使用:
debug> step
-
还可以像下面这样添加一个监视器监视变量,括号里面是变量名:
debug> watch('a');
-
使用out命令跳转至父作用域的下一指令处,或者,如果到达了当前作用域的结尾处,可以使用next.
-
如果想要跳过某一行而直接进行下面操作,为此需要在代码文件中设置一个断点。
debug> sb('my_app.js', 8)
直接前往下一个断点处:
debug> cont
二、使用 Node 检查器
该工具通过浏览器将成熟的Google Chrome检查器加入到应用程序之中,提供了一个图形界面,而不仅仅是纯文本形式的调试器。
-
可以通过下面命令安装Node检查器:
npm install -g node-inspector
-
Node检查器作为一个守护程序默认运行在8080端口,可以通过下列命令启动:
node-inspector &
-
启动脚本:
node --debug-brk my_app.js
–debug-brk选项让程序在第一行中断,–debug只是启动调试功能。
-
查看:打开浏览器
localhost:8080
,就可以看到调试界面了,可以单机行号设置或取消断点,