如何使用IE7 Javascript内存检漏仪?

时间:2009-08-11 15:46:57

标签: javascript internet-explorer memory-leaks

我在SO和also here上为其他地方提到的IE下载了“Javascript Memory Leak Detector”,但无法弄清楚如何使用它。显然,曾经有过另一篇博文可能会详细介绍,但上面链接中的链接却被打破了。

我也尝试过使用sIEve,除了我无法让“复制”功能正常工作外,它的工作做得还不错。也就是说,我想复制各种统计数据,以便我可以离线操作它们并为我的经理准备一份报告。但是正如我所说,复制数据存在问题,所以在我向开发人员报告这些问题之前,如果他们然后解决了这个问题,我所能得到的只是非交互式屏幕截图。

所以我问SO社区他们如何使用上述工具,或者他们是否知道任何其他易于使用的工具来测量IE7 Javascript内存泄漏,我可以用它来准备管理报告,例如:您可以从中导出原始数据。

提前致谢

2 个答案:

答案 0 :(得分:6)

这是我自己在大约中的经历。我提出这个问题后24小时。它提供了充足的,可视的,尽管是非交互式的数据,例如, “只读”。它确实提供了一种“复制”它在各种“Show”网格中显示的数据的方法,在我的案例中“Show In Use”。但是,粘贴到文本文档时导致的数据量远远超出网格中实际显示的数据量,并且非常大量。

让我详细说明一下我的用例。 sIEve本身并未表示“泄漏”,而是“孤儿”。要了解这在sIEve中的含义,请参阅this page

一旦我使用sIEve浏览器访问我感兴趣的页面,我使用“使用中显示”功能来显示包含大约10或12个字段的网格。通过单击标题可以对列数据进行排序,因此我可以对“孤立”列进行排序,然后选择指示“是”的行范围,然后单击“复制”

但是我首先问了这个问题,因为复制似乎没有工作,或者崩溃了。我在三分之一或一半的时间里继续遇到这些问题,但仍然坚持不懈,最后能够将原始数据粘贴到文档中。

正如我所提到的,原始数据量很大。所以到目前为止我唯一开发的是用于计算“记录”的正则表达式。每条记录都以如下行开头:

http://localhost:8086/yms_web/yardmanager.do    (1 reference)

它将始终指示引用的数量,因此这是我为在原始数据中查找这些行而开发的正则表达式;请注意我正在使用Cygwin:

$ egrep '\([0-9]+ reference[s]?\)' before_trailer_adjust_clicks.txt
http://localhost:8086/yms_web/yardmanager.do    (5 references)
http://localhost:8086/yms_web/yardmanager.do    (1 reference)
http://localhost:8086/yms_web/yardmanager.do    (2 references)

正如您所看到的,正则表达式正确处理复数引用的可能性;我还没有看到它处理有双位数引用的情况,但我相信它应该。

无论如何,通过将上面的输出汇总到wc -l,你可以快速找到你有多少行,所以在我的情况下,通过捕获网格中的数据,其中“Orphan”等于“是”,并且这样做在连续的HTTP请求中,我能够看到孤儿的数量是如何增加的,例如:

$ egrep '\([0-9]+ reference[s]?\)' before_trailer_adjust_clicks.txt | wc -l
3

$ egrep '\([0-9]+ reference[s]?\)' after_trailer_adjust_click.txt | wc -l
4

$ egrep '\([0-9]+ reference[s]?\)' after_create_rftask_click.txt | wc -l
4

$ egrep '\([0-9]+ reference[s]?\)' after_create_rftask_close.txt | wc -l
66

$ egrep '\([0-9]+ reference[s]?\)' after_trailer_adjust_close.txt | wc -l
163

当然,egrep命令可以在一个bash脚本中调用,循环遍历那些感兴趣的文件,但我还没有走得那么远。

顺便说一下这是一个ExtJS应用程序,我在他们的论坛上问了一些好建议,并且能够大大减少孤儿的数量!

希望这可以帮助其他人,并且不确定为什么这个问题已被投票决定关闭

答案 1 :(得分:4)

链接已过时,因此我修改了它以转到root of the blog,并通过标记找到文章。

JavaScript Memory Leak Detector (v2)

相关问题