HPROFファイルを開く際のエラー:IOException:不明なHPROFバージョン


121

Debug.dumpHprofDataMemory AnalyzerでHPROFファイル(で作成)を開こうとすると、次の例外が発生します。

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)

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


Windowsシステムの下で、あなたはこの記事役に立つかもしれません stackoverflow.com/questions/14168485/...
sivi

回答:


298

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

例えば:

hprof-conv android.hprof mat.hprof

次に、Memory Analyzerでmat.hprofを開きます。

編集:hprof-convがAndroidSDK/platform-tools/一部のバンドルの下にある場合があります。


6
@inazaruk hprof-convは、ダンプボタンをクリックすると自動的に実行されていました。これが機能しなくなったADTのバージョンは
わかり

1
@ smith234、DDMSのボタンに当てはまる可能性があります。ただし、Debug.dumpHprofData() を使用する場合、変換は手動で行う必要があります。
inazaruk 2012年

それにもかかわらず、toolsディレクトリで「permission denied」エラーが発生していました。このディレクトリが機能するためには、そのディレクトリのアクセス許可をchmodする必要がありました。
IgorGanapolsky

タイプミス:MATの最新バージョンでは、ファイル名の拡張子は上記の例のようにhpofではなくhprofである必要があります。
greg7gkb 2012

10
ほんの少し前に、誰かがsdk / toolsの下でそれを逃した場合に備えて、私のhprof-convはsdk \ platform-toolsの下にありました
cjayem13 '27

41

Eclipseを使用している場合は、次のように変更してください。

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

Windows 7 64ビットでは、hprof-convツールを使用して変換できませんでした。何もしませんでした。だからあなたの方法を試してみましたが、うまくいきました!私はEclipseをインストールするためにMATをインストールする必要があるだけで、完全に機能します。感謝
パウリウスヴィンツィゲルスキス

3
ユーザーが最初にEclipse設定を開き、次に左側のメニューなどからAndroidを選択する必要があることを説明するように更新するとよいでしょう
Mick

1
LunaでMATを手動でインストールする必要がありました:ヘルプ
joecks

私のEclipse Mars.2(4.5.2)(Win 10)では、「Open in Eclipse」がすでに設定され、MATがインストールされていますが、それでも「不明なHPROFバージョン」エラーが発生します。「hprof-conv」でファイルを変換する必要がありました。
Neph

7

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

現在、次の場所にあります AndroidSDK/platform-tools/hprof-conv

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.