How to convert a heap dump in android to eclipse format

半世苍凉 提交于 2019-12-18 11:29:08

问题


Im attempting to analyze a memory leak that has been driving me crazy for weeks, I found out about the eclipse MAT tool that helps you to figure out what is wrong, the problem is every single tutorial I have found says that I need to convert the format of the file from dalvik to HPROF format, however not one single tutorial I can find explains how to actually do it, instead I get vague things like this

Now the file you will get does not conform to the "standard" Sun .hprof format but is written in Dalvik's own format and you need to convert it:

hprof-conv heap-dump-tm-pid.hprof 4mat.hprof

what does that actually mean? what do I click? where do I go? Im totally lost and frustrated, any help will go a long way, thanks.


回答1:


Sounds like you need to use the hprof-conv tool that's located in [Android-SDK]\platform-tools.

To do this on Windows:

  1. Press WINKEY+R and type in cmd
  2. Type in:

    cd "C:\android-sdk\platform-tools" (or whichever directory contains your Android sdk)

  3. Assuming you have your Dalvik file on the Desktop (I'm just guessing the directory), type in:

    hprof-conv "C:\Users\Edmund\Desktop\heap-dump-tm-pid.hprof" "C:\Users\Edmund\Desktop\4mat.hprof"

  4. This will generate the standard format HPROF file that you can use called 4mat.hprof



回答2:


Just to be said: You don't explicitly need to convert the .hprof file using hprof-conv. MAT does this for you automatically - as described here. In Eclipse,

  1. open the Preferences Window,
  2. navigate to Android > DDMS
  3. and change the HPROF action to "Open in Eclipse".



来源:https://stackoverflow.com/questions/14168485/how-to-convert-a-heap-dump-in-android-to-eclipse-format

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!