Javascript 如何调试Node.js应用程序?
如何调试Node.js服务器应用程序 现在,我主要对打印语句使用警报调试,如下所示:Javascript 如何调试Node.js应用程序?,javascript,node.js,debugging,google-chrome-devtools,Javascript,Node.js,Debugging,Google Chrome Devtools,如何调试Node.js服务器应用程序 现在,我主要对打印语句使用警报调试,如下所示: sys.puts(sys.inspect(someVariable)); 必须有更好的调试方法。我知道它有一个命令行调试器。这个调试器也可用于Node.js吗?作为Google的一部分发布的调试器可用于调试Node.js脚本。有关这项工作原理的详细说明,请参见。可以节省时间!从任何支持的浏览器使用它。断点、探查器、livecoding等。。。真是太棒了 安装时请使用: npm install -g node-
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道它有一个命令行调试器。这个调试器也可用于Node.js吗?作为Google的一部分发布的调试器可用于调试Node.js脚本。有关这项工作原理的详细说明,请参见。可以节省时间!从任何支持的浏览器使用它。断点、探查器、livecoding等。。。真是太棒了
安装时请使用:
npm install -g node-inspector
然后运行:
node-debug app.js
Node.js版本0.3.4+具有内置调试支持
节点调试脚本.js
手动:Node.js中有内置的命令行。Cloud 9 IDE也有非常好的(可视的)。如果您需要一个强大的Node.js日志库,这是一个更好的选择 它输出带有时间戳、文件名、方法名、行号、路径或调用堆栈的日志消息,支持颜色控制台,支持数据库、文件、流传输。我是作者。我个人使用它,因为它是我发现的唯一一个JavaScript IDE,它对前端和后端JavaScript都很好 它可以在多个操作系统上工作,并且内置了Node.js调试功能(以及大量其他功能)() 我唯一的“问题”/愿望列表项目是和:
假设您的计算机上安装了node inspector(如果没有,只需键入“npm安装-g node inspector”),您只需运行:
node-inspector & node --debug-brk scriptFileName.js
并将URI从命令行粘贴到WebKit(Chrome/Safari)浏览器中。
节点--prof./app.js
节点——prof进程/生成的日志文件
- 然后
- 及-
- :
ab-n100000-c1http://127.0.0.1:9778/
- -替换为内置调试
- -由节点检查器替换
- -不复存在
我为那些不确定从何处开始的人总结了使用的简短说明。有一个新的开源项目(作为Eclipse插件或: Nodeclipse在年成为#1。它使用了一个经过修改的调试器(来自Google Chrome Developer Tools for Java) Nodeclipse是免费的开源软件。为了完整性:
.2012或2013包含一个调试器。概述说明“适用于Visual Studio的Node.js工具包括对调试节点应用程序的完全支持。”。作为Node.js的新手,但有.NET背景,我发现此加载项是调试Node.js应用程序的一种很好的方法。我创建了一个名为的简洁的小工具,可以帮助您
node-debug -p 8888 scriptFileName.js
在代码中的某个地方放一条简单的语句,正常运行脚本,node将停止当前线程,让您可以访问所有变量和函数。随意查看/编辑/删除它们
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代码,该方法稳定且非常简单。可在上获得 一个开源的跨平台可视化调试器 安装:
npm安装铁节点-g;
调试:
iron node yourscript.js;
非常适合node.js
此外,IntelliJ很好地支持“代码协助”。提供了非常好的Node.js调试支持。它是免费的、开源的、跨平台的,在Linux、OSX和Windows上运行
你甚至可以调试,如果你需要…这里有很多很好的答案,但是我想添加我的观点(基于我的方法的发展) 除错记录 让我们面对现实吧,我们都喜欢一个好的
控制台.log('哦,如果你到了这里,你最好跑一跑')
有时候效果很好,所以如果你不想离它太远,至少在你的日志中添加一些闪光点
交互式调试
尽管控制台日志记录非常方便,但要进行专业调试,您需要卷起袖子,陷入困境。设置断点,逐步检查代码,检查作用域和变量,以查看是什么导致了这种奇怪的行为。正如其他人所提到的,真正的原因是错误。它可以使用内置调试器执行所有操作,但使用熟悉的Chrome开发工具界面。
如果您像我一样使用Webstorm,那么这是一个方便的调试指南
堆栈跟踪
默认情况下,我们无法跨事件循环的不同周期(滴答声)跟踪一系列操作
内存渗漏体
使用Node.js,我们可以让服务器进程保持相当长的运行时间。如果您认为它引发了一些严重的泄漏,您会怎么做?使用和Chrome DevTools比较一些快照,看看有什么变化
为了一些有用的文章
node --inspect server.js
DEBUG_LEVEL=all node file.js
DEBUG=* node file.js
node file.js --inspect