ошибка открытия файла HPROF: IOException: неизвестная версия HPROF - PullRequest
118 голосов
/ 02 июня 2011

При попытке открыть файл HPROF (созданный Debug.dumpHprofData) с помощью Memory Analyzer появляется следующее исключение:

java.io.IOException: Unknown HPROF Version (JAVA PROFILE 1.0.3)
at org.eclipse.mat.hprof.AbstractParser.readVersion(AbstractParser.java:124)
at org.eclipse.mat.hprof.Pass1Parser.read(Pass1Parser.java:69)
at org.eclipse.mat.hprof.HprofIndexBuilder.fill(HprofIndexBuilder.java:65)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(SnapshotFactoryImpl.java:203)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnapshot(SnapshotFactoryImpl.java:114)
at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:143)
at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:123)
at org.eclipse.mat.ui.snapshot.ParseHeapDumpJob.run(ParseHeapDumpJob.java:56)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Как мне решить эту проблему?

Ответы [ 3 ]

289 голосов
/ 02 июня 2011

Файл hprof, полученный с Android, имеет специальный формат Android.Вам следует конвертировать файл hprof из ОС Android в стандартный формат hprof.Для этого вы можете использовать инструмент hprof-conv, который находится в AndroidSDK/tools/hprof-conv.

Например:

hprof-conv android.hprof mat.hprof

И затем откройте mat.hprof в Memory Analyzer.

EDIT: hprof-conv может находиться в AndroidSDK/platform-tools/ в некоторых пакетах.

41 голосов
/ 28 февраля 2012

Если вы используете Eclipse, просто измените следующее:

  1. Открыть настройки (из меню Окно)
  2. Перейдите в Android-> DDMS
  3. Изменитьдействие HPROF «Открыть в Eclipse»
6 голосов
/ 30 марта 2015

hprof-conv местоположение инструмента изменилось.

Теперь оно находится в AndroidSDK/platform-tools/hprof-conv

...