메모리 덤프를 뜨는 방법은 여러가지가 있는데, 이번 포스팅에서는 adb와 Eclipse Memory Analyzer를 이용해보려 한다.
설치 되어있어야 하는 것
1. 안드로이드 SDK https://developer.android.com/studio
2. Eclipse Memory Analyzer
1. 메모리 덤프 뜰 어플의 PID 확인
adb shell ps | grep <APP-NAME>
2. 메모리 덤프 파일 저장
adb shell am dumpheap <PID> <HEAP-DUMP-FILE-PATH>
ex) adb shell am dumpheap 1769 /data/local/tmp/android.hprof
3. 메모리 덤프 파일을 PC로 복사
adb pull <HEAP-DUMP-FILE-PATH>
ex) adb pull /data/local/tmp/android.hprof
4. 로그파일 컨버터로 변경
그냥 두면 memory analize에서 읽어오지 못하므로 안드로이드 sdk를 이용해서 컨버팅 해 줌
hprof-conv.exe의 경로를 path에 추가해두면 아래와 같이 사용 가능. 필자는 등록하지 않아서 그냥 실행.
hprof-conv <원본파일명> <컨버팅파일명>
5. Memory Analize로 분석 실행
① 트리형태로 만듦
② 클래스 로드로 정렬해 보기 편하게 만듦
6. 주요정보 확인
https://dzone.com/articles/how-to-capture-heap-dump-from-android-app
https://developer.android.com/studio/profile/memory-profiler?hl=ko
'공부 > 모바일해킹' 카테고리의 다른 글
Package preferenceloader is not installed 오류 해결 (0) | 2019.09.22 |
---|---|
InsecureBank v2 설치 (0) | 2019.08.17 |