参考文献:[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浏览器按步执行