【问题标题】:Android: Opening .hprof file In EclipseAndroid:在 Eclipse 中打开 .hprof 文件
【发布时间】:2013-09-11 12:56:55
【问题描述】:

我正在尝试使用 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 中查看

但这只是将文件显示为不可读的文本文件:

我假设它应该比这更容易理解,那我做错了什么?

编辑

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

【问题讨论】:

  • 您最初是如何创建 HPROF 文件的?
  • @CommonsWare 在 Eclipse 中,打开 Perspective > DDMS,在设备视图中我单击“转储 HPROF 文件”,然后我在 eclipse 中自动打开了上面的文件
  • 您是尝试使用独立的 MAT,还是作为 Eclipse 插件的 MAT?
  • @CommonsWare 我从 Eclipse 网站下载了独立版本。如果它可以在 Eclipse 中工作,但我想知道如何做到这一点

标签: android eclipse memory hprof


【解决方案1】:

“在 Eclipse 中打开”选项仅在您使用 MAT Eclipse 插件时有效。 MAT Downloads page 显示“更新站点”链接,您可以通过“帮助”>“安装新软件”>“添加”将其添加到 Eclipse。

【讨论】:

  • 它在我的电脑上用独立的 MAT 工作,也许 eclipse 的某个人升级了这个功能。
  • 我遇到了和 OP 一样的问题,并且有独立的 MAT。我不知道有一个插件。我尝试遵循的教程没有指定。
【解决方案2】:

您可以使用android sdk中提供的HPROF Converter工具。

hprof-conv 工具将 Android SDK 工具生成的 HPROF 文件转换为标准格式,以便您可以在您选择的分析工具中查看该文件。

hprof-conv <infile> <outfile>

更多HPROF Converter

转换文件打开后没有任何问题。

【讨论】:

    【解决方案3】:
    • 您仍然可以使用单独的 MAT(我认为这是正确的 要做的事情,因为开发这个系统的人就是这样做的 而且他似乎知道分离关注点是更聪明的方法)

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

    • 您保存此文件,然后在 MAT Eclipse 中打开它。

    • 似乎 DDMS 保存到磁盘保存了常规的 .hprof 文件 另一个版本保存到文件将编码的广告版本保存在 至少在我的机器上。

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

    【讨论】:

      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 2011-03-22
      • 2011-09-22
      • 1970-01-01
      • 2011-02-16
      • 2015-02-11
      • 1970-01-01
      • 2018-03-15
      相关资源
      最近更新 更多