如何调试Node.js服务器应用程序?

现在,我主要使用如下打印语句的警报调试:

sys.puts(sys.inspect(someVariable));

必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?


当前回答

有很多方法可以调试,但我更喜欢使用内置的调试器(按节点js)。

app.js文件

var fs = require('fs');

fs.readFile('test.txt', 'utf8', function (err, data) {

debugger;

if (err) throw err;

console.log(data); });

命令:node-debug app.js

其他回答

Node.js中有内置的命令行调试器客户端。Cloud9IDE也有非常好的(可视化)调试器。

作为Google Chrome开发者工具的一部分发布的V8调试器可用于调试Node.js脚本。可以在Node.js GitHub wiki中找到这一工作原理的详细说明。

仅为完整起见:

PyCharm 3.0+Node.js插件提供了很棒的开发+运行+调试体验。

节点检查器可以节省一天!从任何支持WebSocket的浏览器使用它。断点、分析器、实时编码等……真是太棒了。

安装时使用:

npm install -g node-inspector

然后运行:

node-debug app.js

我创建了一个名为pry.js的小工具,可以帮助您解决问题。

将一个简单的语句放在代码中的某个地方,正常运行脚本,节点将停止当前线程,从而允许您访问所有变量和函数。随意查看/编辑/删除它们!

var pry = require('pryjs')

class FizzBuzz

  run: ->
    for i in [1..100]
      output = ''
      eval(pry.it) // magic
      output += "Fizz" if i % 3 is 0
      output += "Buzz" if i % 5 is 0
      console.log output || i

  bar: ->
    10

fizz = new FizzBuzz()
fizz.run()