`

Javascript内存泄漏检测工具

阅读更多

Javascript内存泄漏检测工具

 

内存泄漏对开发者来说一般很难检测因为它们是由一些大量代码中的意外的错误引起的,但它在系统内存不足前并不影响程序的功能。这就是为什么会有人在很长时间的测试期中收集应用程序性能指标来测试性能。

最简单的检测内存泄漏的方式是用任务管理器检查内存使用情况。在Chrome浏览器的新选项卡中打开应用并查看内存使用量是不是越来越多。还有其他的调试工具提供内存监视器,比如Chrome开发者工具。这是谷歌开者这网站中的堆分析的特性的教程。

 

目前IE的常用内存泄露工具主要有两个:sIEve和IE JavaScript Memory Leak Detector。

sIEve
官方网站: http://home.wanadoo.nl/jsrosman/

下载:Download sIEve-0.0.8.exe

这是一款独立的桌面exe程序,无需安装,内部嵌入了一个IE 浏览器控件,用户可以通过该控件访问需要测试的网页。

这款工具源于Sourceforge的开源项目ieleak,但不知为何后来开发停滞了,没有版本的更新,只能看到留下的源代码。

从代码中可以看出,sIEve监控DOM对象中的引用数目,如果在页面卸载之后,还存在引用大于0的DOM对象,它就会显示这些DOM对象,同时还会实时的显示在用户操作的时候内存和DOM泄露的情况。

优点:有源代码、可以参考学习,独立工具,无需安装。我记得看过一则新闻,IE8发布时,IE的开发经理还建议开发人员使用sIEve调试内存泄漏情况。

缺点:只能提供没有释放的DOM对象,但是不知道DOM对象是javaScript代码在何时何处导致泄漏的,无法定位泄露原因;版本没有更新。

IE JavaScript Memory Leak Detector
官方网站:http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector.aspx

这款工具由微软的内部员工开发,功能看起来比sIEve要强大。

IE JavaScript Memory Leak Detector需要安装,作为IE的插件形式存在,可以在工具栏的菜单中启用和关闭,启动之后在IE的下端出现一个工作窗口。

这个工具将监控代码注入到了IE浏览器中的动态链接库中,IE在做DOM或者JavaScript解释时,工具都会截获、记录并转发,IE并没有意识到IE JavaScript Memory Leak Detector的存在。

用户可以在IE中打开IE JavaScript Memory Leak Detector,然后访问需要测试的网页,在切换网页时,IE JavaScript Memory Leak Detector会报告可疑的内存泄露,包括泄露的DOM对象,引起泄漏的引用代码和代码出处,这个工具对于简单的javascript代码毫无疑问是非 常好用的,但是我在实际使用当中发现对于复杂的代码,如使用了dojo工具包的Javascrpt代码,即使发生了内存泄露,引起泄漏的引用代码和代码出 处这两项功能很难派上用场,最后都会指向dojo的源文件,而且指的位置也可能出错,比如定位到了注释上,汗….

遗憾的是,这个工具除了beta版之后,再也没有更新。

另外,IE JavaScript Memory Leak Detector可以分别模拟IE6\IE7的泄露情况,根本区别是IE7对内存泄露问题的一大进步是可以回收所有attach到DOM树上的泄露对象。建议升级到IE8的浏览器模式下。

优点:包含泄露定位功能。

缺点:对于复杂的Javascript代码,无法准确定位泄露位置。

分享到:
评论

相关推荐

    sIEve-0.0.8-javascript内存泄漏检测工具

    总的来说,sIEve作为一款JavaScript内存泄漏检测工具,对于提升Web应用的性能和稳定性具有重要意义。通过使用这类工具,开发者可以更有效地管理和优化JavaScript的内存使用,减少因内存泄漏导致的问题,从而提高用户...

    javascript 内存泄漏 检测 解决 检测工具 原因分析

    接下来,我们来讨论**检测JavaScript内存泄漏的方法**: 1. **Chrome DevTools**:提供了Memory面板,可以进行内存快照对比,找出内存增长的来源。 2. **Firefox Developer Tools**:也有类似的Memory工具,用于...

    内存泄漏检测工具

    内存泄漏是程序运行过程中,不再使用的内存没有被正确释放,导致系统资源持续占用,从而影响程序性能甚至系统...了解并掌握这些知识点,开发者可以更有效地预防和解决JavaScript内存泄漏问题,确保应用的高效稳定运行。

    脚本IE内存泄露检测.rar

    标题中的“脚本IE内存泄露检测.rar”表明这是一个专门针对Internet Explorer浏览器的JavaScript内存泄漏检测工具。内存泄漏是编程中常见的问题,特别是在处理大量数据或长时间运行的网页应用时,可能导致浏览器性能...

    ajax js性能优化和内存泄露检测工具

    本文将深入探讨AJAX和JavaScript在性能优化方面的策略,以及如何使用内存泄露检测工具来确保高效且无泄漏的代码。 一、AJAX性能优化 1. **减少HTTP请求**:每个HTTP请求都会带来一定的开销,包括建立连接、发送...

    JavaScript内存泄漏的处理方式

    在探讨JavaScript内存泄漏的处理方式前,有必要了解内存泄漏的含义。内存泄漏通常指的是程序不再使用的内存未能被释放,导致内存消耗不断上升。即使在高级语言如JavaScript中,这一问题亦可能出现,尽管它拥有垃圾...

    IE内存泄漏检测工具 Drip-0.5

    **IE内存泄漏检测工具Drip-0.5详解** 在Web开发中,内存泄漏是一个常见的问题,尤其是在使用老...通过熟练掌握和运用Drip-0.5,开发者能够有效地定位和修复JavaScript内存泄漏问题,从而提高应用程序的稳定性和效率。

    浏览器内存监测工具(Drip,sIEve,JSLeaksDetector)

    再者,JSLeaksDetector是一个全面的JavaScript内存泄漏检测工具,它不仅适用于Chrome、Firefox等现代浏览器,还支持IE。JSLeaksDetector通过模拟不同的用户行为,检测并报告可能导致内存泄漏的代码片段。...

    IE 内存检测工具

    Drip,全称Dynamic Resource Inspection and Profiling,是一款强大的Web内存泄漏检测工具,不仅适用于IE,还支持其他基于Chromium内核的浏览器。Drip通过实时监控浏览器的内存使用情况,提供详细的内存分配和泄漏...

    JS 内存检测工具

    除了IEJSLeaksDetector,还有其他一些流行的JavaScript内存检测工具,如Chrome DevTools、Firefox Developer Tools、SAP Memory Inspector等,它们同样可以帮助开发者有效地管理和优化JavaScript应用的内存使用。...

    ie内存泄漏检测软件

    通过理解内存泄漏的原因,利用合适的检测工具,以及遵循良好的编程习惯,可以有效减少和解决这个问题。JSLeaksDetector等专业工具的出现,为开发者提供了更方便的手段来诊断和修复IE浏览器的内存泄漏问题,提升了...

    Iframe内存泄露分析

    检测内存泄漏的工具和手段确实有限,仅有的两个工具(JavaScript Memory LeakDetector 和 sIEve )都不太好用,不像 Java 里面的一些工具能精准定位。因此,需要通过经验预测最有可能泄漏的几个点,再通过排除法,...

    JavaScript避开内存泄露及内存管理技巧_.docx

    Chrome的DevTools提供了许多有用的工具来帮助开发者检测和解决内存泄露问题。开发者可以使用DevTools中的Profile工具来检测内存泄露。 四、结论 内存泄露是一个常见的问题,它会导致JavaScript应用程序的性能下降...

    JavaScript 内存泄露的4种方式及如何避免 – 码农网1

    常见的JavaScript内存泄露类型有: 1. 意外的全局变量:未声明的变量默认成为全局变量,这可能导致意外的内存占用。例如,忘记在函数内部使用`var`关键字会导致变量被附加到全局对象window上,形成持久化的内存占用...

    测试JavaScript在IE中的内存泄露

    2. **内存泄漏类型**:常见的JavaScript内存泄露包括全局变量、闭包引用、DOM元素引用、事件监听器等。了解这些类型有助于识别潜在问题。 3. **工具使用**:利用如IE Developer Tools(F12工具)、Chrome DevTools...

    V8堆快照的内存自动泄漏检测

    在实际应用中,除了利用V8-mat-master这样的工具,还需要了解JavaScript内存管理的基本概念,如垃圾收集机制、闭包、全局变量等,才能更好地理解和解决内存泄漏问题。同时,良好的编程习惯,如及时解除不再使用的...

    javascript源码检测工具

    JavaScript源码检测工具,如JSLint,是用于提升代码质量、发现潜在错误和编码风格问题的重要辅助工具。JSLint是由Douglas Crockford开发的一款著名JavaScript代码质量检查器,它通过严格的一系列规则来分析代码,...

    Drip 检测IE内存泄漏

    6. **其他内存泄漏检测工具**:除了Drip,还有其他工具如Siege、LeakCanary(针对Android)、Chrome DevTools等,它们可以帮助开发者检测不同环境下的内存泄漏问题。 总的来说,Drip是一个对Web开发者非常有用的...

    常见的JavaScript内存泄露原因及解决方案.docx

    ### 常见的JavaScript内存泄露原因及解决方案 #### 引言 在现代Web开发中,JavaScript已成为构建复杂用户界面的主要编程语言之一。随着应用程序变得越来越庞大与复杂,有效地管理和优化内存成为确保应用性能和用户...

    js内存泄露问题

    本文将深入探讨JavaScript内存泄露的原因、类型以及如何检测和解决这些问题。 首先,我们要明白JavaScript引擎是如何管理内存的。在JavaScript中,内存是由垃圾收集器(Garbage Collector, GC)自动管理的。当一个...

Global site tag (gtag.js) - Google Analytics