1. ホーム
  2. android

[解決済み] HPROF ファイルを開く際にエラーが発生しました。IOException: HPROFのバージョンが不明

2022-08-20 09:05:16

質問

HPROF ファイル ( Debug.dumpHprofData で作成された) HPROF ファイルを 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)

これを解決するにはどうすればよいのでしょうか?

どのように解決するのですか?

この hprof ファイルはアンドロイド独自のフォーマットです。そのため hprof ファイルは、Android OS から取得したものを標準の hprof 形式に変換します。これには hprof-conv にあるツールを使います。 AndroidSDK/tools/hprof-conv .

例えば

hprof-conv android.hprof mat.hprof

そして、Memory Analyzerでmat.hprofを開いてください。

EDIT: hprof-conv は、以下の場所にあるかもしれません。 AndroidSDK/platform-tools/ の下にあるかもしれません。