Ошибка при открытии файла HPROF
Я получаю следующее исключение при попытке открыть файл HPROF (созданный Debug.dumpHprofData
) с анализатором памяти:
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 ответа
Решение
hprof
Файл, который вы получаете с Android, имеет специальный формат Android. Вы должны конвертировать hprof
взять файл из ОС Android в стандарт hprof
формат. Для этого вы можете использовать hprof-conv
инструмент, который расположен в AndroidSDK/tools/hprof-conv
,
Например:
hprof-conv android.hprof mat.hprof
А затем откройте mat.hprof в анализаторе памяти.
РЕДАКТИРОВАТЬ: hprof-conv может быть расположен под AndroidSDK/platform-tools/
в некоторых связках.
Если вы используете Eclipse, просто измените следующее:
- Открыть настройки (из меню "Окно")
- Перейдите к Android->DDMS
- Измените действие HPROF на "Открыть в Eclipse".
hprof-conv
расположение инструмента изменилось.
Сейчас он находится по адресу AndroidSDK/platform-tools/hprof-conv