GDB 기본환경
1. 에뮬레이터 tcp 리다이렉션 설정
호스트에서 텔넷으로 에뮬로 접속한다. 열려진 초기 기본 텔넷 포트는 5554
$ telnet localhost 5554
에뮬레이터로 telnet 접속이 되는데, 몇가지 명령을 줄 수 있다.
우린 리다이렉션 설정을 해야 하므로 아래와 같이 입력하낟.
redir add tcp:1234:1234
tcp 포트 1234 를 1234로 리다이렉션 한다~
exit 로 telnet 종료
2. gdbserver 를 에뮬레이터에 복사한다.
각 툴체인 디렉토리를 보면 플랫폼별로 디렉토리가 구분되어 있는 것을 볼 수 있다.
android/prebuilt/android-arm/gdbserver/ 디렉토리에 gdbserver 바이너리가 보인다.
요넘을 에뮬레이터에 밀어 넣는다.
$ cd ~/android/prebuilt/android-arm/gdbserver/gdbserver
$ adb push ./gdbserver .
3. 어플리케이션을 빌드해서 역시 push
4. 서버 실행
$ adb shell
$ gdbserver 10.0.2.2:1234 /data/my_sample
5. 다른 터미널을 이용해 클라이언트 실행
$ arm-eabi-gdb my_sample
# target remote localhost:1234
접속시 호스트의 바이너리 위치에서 실행해야 한다. 기타 라이브러리 폴더등 몇가지 설정해야함.
# set solib-search-path ../path info
# set solib-absolute-path ../path info