如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.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()
其他回答
有一个新的开源Nodeclipse项目(作为Eclipse插件或EnideStudio):
Nodeclipse在2013年Eclipse Top 10 NEW Plugins中排名第一。它使用了一个经过修改的V8调试器(来自Google Chrome Developer Tools for Java)。
Nodeclipse是每个月初发布的免费开源软件。
自6.3版起,Node拥有自己的内置GUI调试器(使用Chrome的DevTools)
只需传递检查器标志,就会向您提供一个指向检查器的URL:
node --inspect server.js
您也可以在第一行通过--inspect brk。
您可以尝试捕获错误:
function yourFunc() {
try {
// YOUR CODE HERE
} catch (err) {
console.error(err.message + ", " + err.trace);
}
}
错误消息和错误跟踪将为您提供识别和纠正运行时错误所需的信息。
使用此命令
DEBUG_LEVEL=all node file.js
DEBUG=* node file.js
node file.js --inspect
假设您的计算机上安装了节点检查器(如果没有,只需键入“npm install-g node inspector”),您只需运行:
node-inspector & node --debug-brk scriptFileName.js
然后从命令行将URI粘贴到WebKit(Chrome/Safari)浏览器中。