参考文献:[1][EN]Georgo Ornbo.傅强.陈宗斌. Node.js入门经典[M]. 北京:人民邮电出版社.2013.4-1
一、STDIO模块调试
STDIO模块无需其他依赖,可以进行轻量级调试。
1、console.log()
console.log('Debugging message');
用途:检查变量、字符串值/记录函数调用/记录第三方响应
2、console.error()
记录错误产生的原因,例如
function notDefined(){ try{ someFunction(); } catch(e){ console.error(e); } } notDefined();
终端如下:
[ReferenceError: someFunction is not defined]
3、代码运行时间测试
console.time('for-1'); //指令 console.timeEnd('for-1');
终端如下:
for-1: 2.566ms
4、堆栈踪迹
function notDefined(){ console.trace(); try{ someFunction(); } catch(e){ console.error(e); } } notDefined();
终端如下:
Trace at notDefined (c:\Users\Claves\WebstormProjects\Nodejs1\start.js:2:13) at Object.(c:\Users\Claves\WebstormProjects\Nodejs1\start.js:9:1) at Module._compile (module.js:399:26) at Object.Module._extensions..js (module.js:406:10) at Module.load (module.js:345:32) at Function.Module._load (module.js:302:12) at Function.Module.runMain (module.js:431:10) at startup (node.js:141:18) at node.js:977:3 [ReferenceError: someFunction is not defined]
二、Node.js调试器
Node.js可以通过设置断点,从而遍历代码。
var foo = function(){ var a = 3, b = 5; debugger; var bar = function(){ var b = 7, c = 11; a += b +c; debugger; } }; foo();
三、Node Inspector
第三方工具,可以使用Webkit javascript浏览器按步执行