우선 로컬에서 ndk설치
https://developer.android.com/ndk/downloads/index.html
4.9일경우 gdb도 따로 설치
~/android-ndk-r15b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi- gdb
여기다 설치
adb shell pull로 android libc랑 app_process 를 가져온다
adb pull /system/bin/app_process
libc는 tar -cvzf /sdcard/so.tar.gz /system/lib 로 압축해서 pull
그다음 ndk에 있는 gdbserver를 push 로 android device에 넣어줌 (/system/bin폴더 등)
ps로 pid확인한다음
gdbserver :(port) - -attach (pid)
이제 android들어가서 아까 위의 gdb를 실행 symbolic link로 글자수 줄여서 편하게 쓰면 좋음
나는 armgdb로 symbolic link
adb로 포트포워딩해줌
adb forward tcp:(port) tcp:(port)
이제 gdb에서 어태치하면 끝
armgdb app_process
set solib-search-path ~/android-ndk-r15b/systemb/lib
target remote :(port)