如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
当前回答
使用网络风暴!它非常适合调试Node.js应用程序。它有一个内置的调试器。查看此处的文档:https://www.jetbrains.com/help/webstorm/2016.1/running-and-debugging-node-js.html
其他回答
调试
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/-失效
我最初的反应是几年前的预视工作室。
因此,hapi使用GOOD是一个很棒的日志记录包,但要进行调试,请使用visual studio。
最初的回应(很久以前):我会使用沃尔玛实验室的GOOD。它可以完成任务,而且非常灵活:
var hapi = require('hapi');
var good = require('good');
var server = hapi.createServer('localhost', 5000,{});
server.route({SOME ROUTE HERE});
server.start();
var options = {
subscribers: {
'console': ['ops', 'request', 'log', 'error'],
'http://localhost/logs': ['log']
}
};
server.pack.require('good', options, function (err) {
if (!err) {
console.log('Plugin loaded successfully');
}
});
假设您的计算机上安装了节点检查器(如果没有,只需键入“npm install-g node inspector”),您只需运行:
node-inspector & node --debug-brk scriptFileName.js
然后从命令行将URI粘贴到WebKit(Chrome/Safari)浏览器中。
我创建了一个名为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()
我编写了一种不同的方法来调试Node.js代码,它非常稳定且非常简单。可在https://github.com/s-a/iron-node.
一个开源的跨平台可视化调试器。
安装:
npm安装铁节点-g;
调试:
铁节点yourscript.js;