你常用断点调试吗? 因为什么才需要断点调试的?
发布于 8个月前 作者 think2011 410 次浏览

一直在做前端的事情,调试通常通过 console.log 在chrome调试,因为没有遇到大问题,通常都挺顺利的。 如今使用node.js,发现 console.log 就不方便了。

  1. 你是如何调试node.js的?
  2. 你常用断点调试吗? (前端 or 后端)
  3. 断点调试的带来的便利是什么?
2 回复

node-inspector 方便

  1. 开始跟一楼一样用 node-inspector 调试(仅限于Webkit内核的浏览器),后来直接用 Webstorm,方便了很多;
  2. 平时后端和前端倒是都常用断点调试;
  3. 补充 2:简单的条件判断、变量或对象直接输出查看就好,反之复杂点的逻辑、对象等断点看起来更好一点。
    另:学习一些Module的时候,找不到源码中的具体函数。断点后控制台查看一下函数体或对象,不然在代码里直接console.log只能看到[Function] 、[Object] 。

举个栗子:

connect express req 取表单值的时候,可以用req.params['name']req.param('name','默认值')req.body.name等等,

后来看了req.param函数代码之后就一直用这个来取值了。

输出查看:

[2014-06-14 17:41:31.763] [INFO] console - [Function]

断点查看:

function (name, defaultValue){
    var params = this.params || {};
    var body = this.body || {};
    var query = this.query || {};
    if ( null != params[name] && params.hasOwnProperty(name) ) return params[name];
    if ( null != body[name] ) return body[name];
    if ( null != query[name] ) return query[name];
    return defaultValue;
}
回到顶部