`
netcome
  • 浏览: 475591 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IE浏览器内存泄露检测工具

阅读更多

随着Web2.0技术的发展,富客户端的应用可以说是越来越多,给各个浏览器造成很大的压力。以前的测试可能只关注于服务器端,如今却需要研究浏览器端的资源使用情况,如CPU利用率、响应时间和内存占用。根据实际测试中的结果,有相当多的JavaScript代码编写存在缺陷,导致代码在IE浏览器时发生内存泄露,有关泄露的原理,可以参考微软网站上的一篇技术文章,《Understanding and Solving Internet Explorer Leak Patterns》,说白了,就是因为Dom和javaScript采用不同的垃圾回收机制,所以出现了各种泄露。需要说明的是,基本上在IE上出现的泄露代码在FireFox不会出现,IE的浏览器组件根本上是一个COM组件,采用计数回收,FireFox在这方面做的比较好,不过我发现即使没有泄漏,但是FireFox运行一段时间会响应慢、CPU高等,令人郁闷…说远了,回到正题。

目前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树上的泄露对象。

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

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

2
0
分享到:
评论

相关推荐

    ie内存泄露监控软件

    "ie内存泄露监控软件"是专门针对IE浏览器设计的一种工具,旨在检测和分析IE客户端可能出现的内存泄露情况。内存泄露是指程序在分配内存后未能正确释放,随着时间的推移,会导致系统资源逐渐耗尽,影响应用程序的性能...

    IE内存泄露分析工具:sIEve/Drip

    总的来说,这两个工具是开发者诊断和修复IE浏览器内存问题的强大武器。它们可以帮助优化网页应用的性能,提高用户的浏览体验。了解如何使用这些工具,以及如何解读它们生成的报告,对于提升Web开发技能和解决问题至...

    ie内存泄漏检测软件

    **IE浏览器内存泄漏详解** IE浏览器,全称Internet Explorer,是微软公司开发的一款经典网络浏览工具。在过去的几十年里,IE浏览器曾是全球最广泛使用的浏览器之一。然而,随着技术的发展,IE浏览器的一些问题逐渐...

    内存泄漏检测工具

    该工具可以帮助开发者识别和定位IE浏览器中的内存泄漏问题,提升网页在IE下的性能。 4. **使用方法** 用户可以通过`IEJSLeaksDetector.exe`来运行该工具。首先,打开需要测试的网页,然后运行检测工具,它将分析...

    IE 内存检测工具

    "IE 内存检测工具"是专门针对这类问题设计的实用工具,帮助开发者定位和解决IE浏览器中的内存消耗问题。 内存泄漏是程序在分配内存后,无法释放已不再使用的内存空间,导致系统资源浪费和性能下降。在IE浏览器中,...

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

    总之,Drip-0.5作为一款针对IE的内存泄漏检测工具,对于优化IE浏览器上的Web应用性能,提升用户体验具有重要作用。通过熟练掌握和运用Drip-0.5,开发者能够有效地定位和修复JavaScript内存泄漏问题,从而提高应用...

    Drip 检测IE内存泄漏

    2. **IE浏览器中的内存泄漏**:IE浏览器对JavaScript对象的内存管理有其特殊性,如DOM对象、闭包和全局变量等处理不当都可能导致内存泄漏。此外,IE的ActiveX控件和BHO(Browser Helper Object)也可能造成内存泄漏...

    脚本IE内存泄露检测.rar

    使用这类工具时,开发者首先需要在IE浏览器中打开测试页面(如test_ie.html),然后运行内存泄漏检测工具(sIEve)。在模拟用户操作或者长时间运行应用后,工具将分析内存使用情况,指出可能存在的泄漏点。开发者...

    测试JavaScript在IE中的内存泄露

    标题"测试JavaScript在IE中的内存泄露"表明我们将讨论如何检测和分析JavaScript在IE浏览器中的内存泄露问题。在IE中,由于其JavaScript引擎(JScript)的一些特性,如活动对象模型(ActiveXObject)和遗留的COM组件...

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

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

    JS 内存检测工具

    IEJSLeaksDetector是一款专门针对Internet Explorer浏览器的JS内存泄漏检测工具,由于IE浏览器的内存管理机制与其他现代浏览器有所不同,因此它能提供针对性的检测。 在JavaScript中,内存泄漏的常见类型包括: 1....

    Drip IE内存监控工具

    1. **实时监控**:Drip能够实时展示IE浏览器内存的增减变化,让开发者在运行应用时直观地看到内存占用的变化趋势。 2. **内存泄漏检测**:内存泄漏是导致程序性能下降的一个常见原因,Drip可以协助找出可能导致内存...

    sIEve IE内存泄露监控

    sIEve工具通过内嵌一个IE浏览器控件,让用户可以直接在工具内部打开并浏览目标网页。这个控件能够模拟真实的浏览器环境,同时提供了内存监控功能,实时跟踪和记录IE浏览器组件在加载和执行网页代码时的内存使用情况...

    sIEve-0.0.8(IE Sieve_检测IE内存泄露情况)

    2. **内存快照**:在使用sIEve之前,用户应先打开IE浏览器并加载要测试的网页或应用。然后,在sIEve中获取一个初始的内存快照,这将是后续比较的基础。 3. **监控与分析**:当浏览器执行操作(如加载新页面、刷新、...

    IE内存监控sIEve-0.0.8

    **标题解析:** "IE内存监控sIEve-0.0.8" 是一个针对Internet Explorer浏览器的内存监控工具,其版本号为0.0.8。这个工具专门设计用于检查...它的易用性和实用性使其成为开发者和用户解决IE浏览器内存问题的得力助手。

    js内存泄露问题

    JavaScript内存泄露是一个重要的性能优化话题,尤其是在...对于IE浏览器,由于其早期版本的垃圾收集机制不完善,内存泄露问题更为突出,文档《理解并解决IE的内存泄漏方式》可能会提供更具体的针对IE浏览器的解决方案。

    jquery 内存泄露bug

    压缩包内的文件 "sIEve-0.0.8.exe" 看起来是一个工具,可能是用于检测IE浏览器中的内存泄漏。sIEve是专门用于Internet Explorer的一个工具,它可以帮助开发者定位和修复JavaScript内存泄漏问题。通过运行这个工具,...

    sIEve与JSLeaksDetector

    **sIEve与JSLeaksDetector:深入理解IE浏览器内存泄漏** 在互联网技术发展的早期,Microsoft的Internet Explorer(IE)浏览器是市场上的主导者。然而,IE浏览器存在一个显著的问题,那就是内存泄漏。为了帮助开发者...

    ExtJS内存调试工具 sIEve

    sIEve是一款专门用于检测和分析ExtJS应用在IE浏览器中内存泄漏的工具。由于早期的Internet Explorer浏览器在内存管理方面存在一些不足,开发者在使用ExtJS构建应用时可能会遇到内存占用不断增加,导致应用运行缓慢...

Global site tag (gtag.js) - Google Analytics