您的位置:首页 > 其它

adb开发工具合集(MAT+Hprof-conv)

2010-06-24 16:21 211 查看
使用MAT分析OPhone程序
我们的示例代码已经完成了,大家可以按照上文的步骤自己一步一步来构造自己的音乐播放器,也可以使用附录的源代码包,将工程导入进Eclipse直接体验一下。最后和大家分享一下使用MAT分析OPhone程序的方法。   通常来说我们调试OPhone程序有两个最常见的方法,一,利用OPhone平台提供的android.util.Log通过log信息来分析 错误发生的原因。 二,通过设置断点,一步一步的跟踪程序发现问题。这两个方法非常有效,介绍相关方法的文章也很多,大家google一下就找到了。
  还有一类常见的问题就是Memory Leak。对内存泄漏这类问题,以上两种方法不是很有效,在DDMS工具里面,我们也基本上只能查看到Heap的使用情况,对分析问题帮助不大。我们可以 利用Eclipse MAT (Memory Analyzer Tool)工具来分析此类问题。Eclipse Memory Analyzer是一个快速并且功能强大的Java heap分析器,能够帮助你查找内存泄漏和减少内存消耗。
  如何安装使用MAT工具,请到http://www.eclipse.org/mat/学习,我们主要来介绍一下如何在OPhone上得到程序运行的heap dump信息。

Adb shell 登陆到手机或模拟器
Su – 切换到root权限
Chmod 777 /data/misc, 使/data/misc目录具有读写权限
通过ps命令,找到要调试的程序的pid
Kill -10 pid
在/data/misc 目录下,会生成文件名类似heap-dump-xxxxx-pidxxx.hprof的文件。
通过adb pull 命令将.hprof文件拽到pc端
使用OPhone SDK提供的hprof-conv工具将OPhone生成的hprof文件转换成MAT识别的标准格式。例如:
view plaincopy to clipboardprint?Hprof-conv heap-dump-xxxxx-pidxxx.hprof standard-dump-file.hprof
 9. 使用MAT工具打开 standard-dump-file.hprof, 你将看到类似下图的分析报告。
  分析报告提供了详尽的heap信息,同时还指出了可疑的内存泄漏的对象。



   大家可以根据MAT提供的详细Heap信息,查找漏洞了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: