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당신이 안드로이드에서 얻을 파일은 안드로이드 특정 형식을 가지고있다. hprofAndroid OS에서 가져온 파일을 표준 hprof형식 으로 변환해야 합니다. 이를 위해에있는 hprof-conv도구를 사용할 수 있습니다 AndroidSDK/tools/hprof-conv.

예를 들면 :

hprof-conv android.hprof mat.hprof

그런 다음 메모리 분석기에서 mat.hprof를 엽니 다.

편집 : hprof-conv는 AndroidSDK/platform-tools/일부 번들 아래 에 있을 수 있습니다 .


6
@inazaruk 덤프 버튼을 클릭하면 자동으로 실행하는 데 사용 HPROF-전환,이 작동이 중지하지만 가능성이 버그하는 ADT 버전 모르겠어요
smith324

1
@ smith234, DDMS의 버튼에 대해 사실 일 수 있습니다. 그러나 Debug.dumpHprofData() 사용되는 경우 변환은 수동으로 수행해야합니다.
inazaruk

그럼에도 불구하고 도구 디렉토리에서 '권한 거부'오류가 발생했습니다. 나는 그것이 작동하기 위해 그 디렉토리에서 chmod 권한을 가져야했습니다.
IgorGanapolsky 2012

오타 : MAT 최신 버전에서는 위의 예 에서처럼 파일 이름 확장자가 hpof가 아닌 hprof 여야합니다.
greg7gkb 2012

10
참고로, 내 hprof-conv는 sdk / tools 아래에서 놓친 경우를 대비하여 sdk \ platform-tools 아래에
있었습니다

41

Eclipse를 사용하는 경우 다음을 변경하십시오.

  1. 환경 설정 열기 (창 메뉴에서)
  2. Android-> DDMS로 이동합니다.
  3. HPROF 조치를 "Eclipse에서 열기"로 변경하십시오.

Windows 7 64 비트에서는 hprof-conv도구를 사용하여 변환 할 수 없었습니다. 그래서 당신의 방법을 시도하고 작동합니다! 이클립스를 위해 MAT를 설치해야하는데 이제 완벽하게 작동합니다. 감사합니다
Paulius Vindzigelskis 2012-06-20

3
사용자가 먼저 Eclipse 환경 설정을 연 다음 왼쪽 메뉴에서 Android를 선택해야한다고 설명하도록 업데이트하는 것이 좋을 수 있습니다.
Mick

1
Luna에서 MAT를 수동으로 설치해야했습니다 : Help-> Install New Software : download.eclipse.org/mat/1.4/update-site
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.