Android:在Eclipse中打开.hprof文件

4

我正在尝试通过使用来自Eclipse DDMS视图的HPROF文件来检查内存泄漏。

我尝试使用MAT读取保存在磁盘上的.hprof文件,但出现错误:

Error opening heap dump 'com.myapp.myapp.hprof'. Check the error log for further details.
Error opening heap dump 'com.myapp.myapp.hprof'. Check the error log for further details.
Unknown HPROF Version (JAVA PROFILE 1.0.3) (java.io.IOException)
Unknown HPROF Version (JAVA PROFILE 1.0.3)

我在StackOverflow的另一篇帖子中找到了一个解决方案,它告诉我要更改以下设置:

Android > DDMS > HPROF操作:在Eclipse中查看

但是这只会将文件显示为无法阅读的文本文件: hprof file in eclipse

我认为它应该比那更容易理解,所以我做错了什么?

编辑

我在其他帖子中读到了使用hprov-conv.exe的方法,我尝试打开它,它闪过一个屏幕然后关闭了(即使以管理员身份打开),所以我不知道如何使用它。


你是如何创建HPROF文件的? - CommonsWare
@CommonsWare 在Eclipse中,打开Perspective > DDMS,在设备视图中点击“Dump HPROF File”,然后我自动在Eclipse中打开了上面的文件。 - Eduardo
你是想使用独立的MAT还是作为Eclipse插件的MAT? - CommonsWare
1
@CommonsWare 我从 Eclipse 网站下载了独立版。如果它可以在 Eclipse 中工作,我想知道如何做到这一点。 - Eduardo
3个回答

11

只有当您使用MAT Eclipse插件时,"在Eclipse中打开"选项才能正常工作。 MAT下载页面显示"更新站点"链接,您可以通过帮助>安装新软件>添加将其添加到Eclipse中。


它在我的电脑上使用独立的MAT工作,也许是Eclipse中的某个人升级了该功能。 - sivi
我和 OP 有着同样的问题,我使用了独立的 MAT。我不知道有插件存在。我尝试跟随的教程没有具体说明。 - GMBrian

7
你可以使用Android SDK中提供的HPROF转换器工具。 hprof-conv工具将由Android SDK工具生成的HPROF文件转换为标准格式,以便你可以在所选的分析工具中查看该文件。
hprof-conv <infile> <outfile>

更多内容请查看HPROF转换器 转换后文件可以正常打开。

0
  • 你仍然可以使用分离的MAT(我发现这是正确的做法,因为开发此系统的人也是这样做的,他似乎知道这是分离关注点的更聪明的方式)

  • 你可以这样做。你必须将该文件复制到非临时目录(桌面或类似目录),并像打开转换后的文件一样打开它。

  • 你保存这个文件,然后在MAT Eclipse中打开它。

  • 在我的机器上,DDMS保存到磁盘似乎保存了常规的.hprof文件,而另一个版本则保存了编码的adt版本。

    有关此方法的更多信息,请观看此视频http://www.youtube.com/watch?v=_CruQY55HOk


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接