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/
这是一款独立的桌面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
装一下这款检测软件吧:JavaScript Memory Leak Detector
安装方法:
- 很明显先解包,就可以看到JSLeaksDetector.msi文件,双击,一路next
- 这样就安装完成了,可是一开始俺一直找不到怎么打开,在哪打开。
- 点击工具(IE7 右侧的那个),路径为“工具(o) -> 工具栏(T) -> 浏览器栏(E) -> js memory leaks detector”,勾上就可以了 然后IE的下方就会出现一截,哇哈哈哈哈 怎么用?自己看看下面的文章吧
- 还有,可…
这款工具由微软的内部员工开发,功能看起来比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代码,无法准确定位泄露位置。
IE浏览器内存泄露检测工具相关推荐
- Ubuntu下内存泄露检测工具Valgrind的使用
在VS中可以用VLD检测是否有内存泄露,可以参考http://blog.csdn.net/fengbingchun/article/details/44195959,下面介绍下Ubuntu中内存泄露检 ...
- 精准 iOS 内存泄露检测工具
MLeaksFinder:精准 iOS 内存泄露检测工具 发表于 2016-02-22 | zepo | 23 Comments 背景 平常我们都会用 Instrument 的 Lea ...
- Visual Studio内存泄露检测工具
使用简介 在写程序的过程中,难免会遇到内存泄露的时候,这个时候如果手工查找内存泄露,不说方法没有通用的,就是真的要自己手工查找也是很耗时间和精力的.诚然,我们可以借助一些工具,而且我们还会惊奇地发现这 ...
- 几种内存泄露检测工具的比较
概述 内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,在大型的.复杂的应用程序中,内存泄漏是常见的问题.当以前分配的一片内存不再需要使用或无法访问时,但是却 ...
- memwatch内存泄露检测工具
工具介绍 官网 http://www.linkdata.se/sourcecode/memwatch/ 其功能如下官网介绍,挑选重点整理: 1. 号称功能: 内存泄露检测 (检测未释放内存, 即 动态 ...
- 内存泄露检测工具比较
From: http://blog.163.com/zhuang_qianxin/blog/static/29765138201051092529107/ 1. ccmalloc-Linux和 ...
- 内存泄露检测工具VLD相关配置
参考链接: VLD(Visual LeakDetector)内存泄露库的使用 VS2019编译 内存泄漏检测工具VLD 一.源码下载 源码下载链接:https://github.com/KindDra ...
- linux 内存泄露检测工具——valgrind
valgrind是linux下一个可用调试.查看内存泄露的工具,其官方网站:http://www.valgrind.org/ 使用时可用命令: valgrind -v --leak-check=fu ...
- kmemleak的使用---内存泄露检测工具【转】
转自:http://blog.csdn.net/lishenglong666/article/details/8287783 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 内 ...
最新文章
- android EditText 修改光标的颜色值
- vue 文字无缝滚动_手把手教你搭建 Vue 聊天室
- SVN的VS.NET插件——AnkhSVN
- Druid-目前最好的连接池
- [Redux/Mobx] redux的thunk作用是什么?
- matlab画圆的命令_matlab画半圆
- java压栈重复字符串_Java 实例 – 压栈出栈的方法实现字符串反转
- python求极值(极大值、极小值)
- fragment+tabhost与viewpager
- java小数位-DecimalFormat(转)
- 用canvas画时钟
- Web 项目中,MySQL 最新驱动下载、及配置
- Hive教程(01)- 初识Hive
- arcgis怎么压缩tif文件_PDF文件怎么压缩才能变小?这样压缩,真的很简单!
- php循环语句时间戳转换,php怎么实现时间戳转换为时间
- 计算机二级成绩划分标准,计算机二级成绩划分标准
- 国美易卡对IP层数据进行处理,国美易卡对TCP/IP的封装
- 基于Python爬虫的大众点评商家评论的文本挖掘
- 东北大学秦皇岛分校通信工程中外合作2020级C/CPP实验8
- 游戏原画设计HTML5模板是一款适合网页游戏原画设计作品展示的HTML5网站模板。
热门文章
- 失业两个月,35岁之后测试工程师拿什么养家?
- linux grep命令Ff和wf从两个文件中提取相同内容的行
- qq如何实现在线状态服务
- 纯真的年代 暖暖的亲情——我眼中的彼得(电影《纳尼亚传奇》观后感)
- matlab怎么建立一元线性回归方程,MATLAB实现一元线性回归的多种方式
- Java输出语句中“+”的作用
- 字符串里面的html转义字符串,HTML转义字符串
- GD32移植CoreMark实现性能测评
- Arch Linux 0.7 (Wombat) 安装指南(转)
- 基于EKF滤波的二阶RC电池模型的Soc估计仿真