web-dev-qa-db-ja.com

HPROFファイルを開く際のエラー:IOException:Unknown HPROF Version

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)

どうすれば解決できますか?

118
Asahi

Androidから取得するhprofファイルには、Android固有の形式があります。 Android OSから取得したhprofファイルを標準のhprof形式に変換する必要があります。これには、hprof-convにあるAndroidSDK/tools/hprof-convツールを使用できます。

例えば:

hprof-conv Android.hprof mat.hprof

そして、Memory Analyzerでmat.hprofを開きます。

編集:hprof-convは、いくつかのバンドルのAndroidSDK/platform-tools/の下にあるかもしれません。

289
inazaruk

Eclipseを使用している場合は、次を変更します。

  1. [ウィンドウ]メニューから[設定]を開きます。
  2. Android-> DDMSに移動します
  3. HPROFアクションを「Eclipseで開く」に変更します
41
Apirak Lunla

hprof-convツールの場所が変更されました。

現在はAndroidSDK/platform-tools/hprof-convにあります

6
Sumoanand