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

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

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

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


当前回答

我编写了一种不同的方法来调试Node.js代码,它非常稳定且非常简单。可在https://github.com/s-a/iron-node.

一个开源的跨平台可视化调试器。

安装:

npm安装铁节点-g;

调试:

铁节点yourscript.js;

其他回答

调试

Joyent指南调试器节点检查器Visual Studio代码云9括号

分析

节点--教授/应用程序.jsnode—prof进程/生成的日志文件

堆转储

使用Chrome开发者工具的节点堆转储

火焰图

0倍jam3/devtool然后是Chrome开发者工具火焰图Dtrace和StackVis-仅在SmartOS上受支持临床医师

跟踪

使用TraceGL的交互式堆栈跟踪

登录中

输出调试信息的库

毛虫示踪剂潦草

增强堆栈跟踪信息的库

朗约翰

标杆管理

Apache工作台:ab-n 100000-c 1http://127.0.0.1:9778/wrk公司

另外

查出优势家伙Google跟踪框架保罗·爱尔兰指南

遗产

这些功能可以使用,但不再维护或不再适用于现代节点版本。

https://github.com/bnoordhuis/node-profiler-替换为内置调试https://github.com/c4milo/node-webkit-agent-由节点检查器替换https://nodetime.com/-失效

如果您需要Node.js的强大日志库,Tracerhttps://github.com/baryon/tracer是更好的选择。

它输出带有时间戳、文件名、方法名、行号、路径或调用堆栈的日志消息,支持颜色控制台,并轻松支持数据库、文件和流传输。我是作者。

自6.3版起,Node拥有自己的内置GUI调试器(使用Chrome的DevTools)

只需传递检查器标志,就会向您提供一个指向检查器的URL:

node --inspect server.js

您也可以在第一行通过--inspect brk。

Node.js 0.3.4+版本具有内置调试支持。

节点调试脚本.js

手册:http://nodejs.org/api/debugger.html

其他答案中没有提到的另一个选项是使用名为Rookout的工具。它用于从本地和远程应用程序调试和获取数据。我们在生产环境中使用它将数据聚合到其他服务中,这为我们省去了很多麻烦和硬编码日志记录