LLDB 메모리 덤프 저장
=================================================
메모리 덤프를 저장할 위치에 Braek Point 설정하고 Braek Point 까지 실행
XCODE 콘솔에서
(lldb) process save-core { 경로/파일명 }
ex) (lldb) process save-core /Users/xxxxxx/lldb_memorydump
해당 경로에 lldb_memorydump 파일이 생성된다.
[확인방법]
iTerm2 이나 터미널 실행
> lldb -c /Users/xxxxxx/lldb_memorydump
(lldb) gui
또는
>lldb
(lldb) target create --core /Users/xxxxxxxxxx/lldb_memory_dump
(lldb) gui
gui 화면이 나오면서 브레이크 포인트에서 찍은 소스와 변수의 값 등이 저장된 상태로 보인다.
=========================================================
[메모리덤프] lldb
필요 프로그램 : lldb, debugserver, iproxy(or tcprelay)
1. 연결설정 (iproxy, tcprelay 사용) - usb muxd 패키지 설치 필요 (iproxy 설치 됨, usb 터널링 용 패키지)
1) ssh 터널링 설정 : # iproxy 22 2222
2) debugserver 터널링 설정 : # iproxy 1234 1234
2. iPhone에서 APP 디버깅 설정
1) debugserver 명령어로 포트 오픈 : # ./debugserver *:1234 -a appname
./debugserver *:1234 —attach=[pid]
3. 맥북에서 lldb로 디버깅 모드 진입 후 덤프
1) # lldb
2) (lldb) process connect connect://127.0.0.1:1234
3) (lldb) image dump sections appname
4) (lldb) memory read --outfile /tmp/mem 0x11003300 0x11003500 -force