佳为好友

原:利用Leaks和Zombies检查内存泄露

创建:2011.10.10
修改:2011.10.28

本文无效。Leaks可以直接查看retain和release的历史。

Leaks只能知道哪个类进行了泄露,以及它是在什么地方分配的。但是,却无法知道是在什么地方泄露的,也就是说无法知道全部的retain和release的历史。但是,Zombies却知道,因此可以结合两者。

方法如下:

用Leaks找到内存泄露的类。
找到该对象的分配地址。
利用TTT类延迟10s释放该对象,释放多次,确保一定Crash。
然后使用Zombies运行程序。
当程序因为TTT崩溃时,查看retain/release的历史。检查在什么地方两者不匹配了。

使用此方法普通的泄露问题都可以解决。

此外,TTT类是另一篇文章里面的类。用于结合Zombies类查看对象的retain和release的历史的。
+++++

posted on 2012-12-26 09:49 佳为好友 阅读(202) 评论(0)  编辑 收藏 引用 所属分类: Debug-GDB


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2012年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

留言簿(1)

随笔分类

搜索

最新评论

评论排行榜