android 단말 gdbserver 크로스컴파일
망할 단말에서 gdbserver를 돌려보자.규약
- 단말에서의 실행문은 앞에 #을, pc에서의 실행문은 앞에 $를 붙인다.
환경:
- You are using Ubuntu 11.04 - the Natty Narwhal - released in April 2011 and supported until October 2012.
- 그지같은 보안으로 인해 apt-get 을 쓸 수 없는 환경.
- 그리고, 안드로이드를 풀빌드 할 수 있는 환경
GDB Server 의 크로스컴파일.
참고사이트: http://checko.soup.io/post/21071057/Cross-compile-GDB-6-8-for-Androidstep1을 따라한다.
wget으로 받되, gdb의 파일명을 다음과 같이 변경해야 받을 수 있다.ftp://ftp.gnu.org/gnu/gdb/gdb-6.8.tar.gz --> ftp://ftp.gnu.org/gnu/gdb/gdb-6.8a.tar.gz
arm 크로스 툴 체인은 예제에 나온 대로 /usr/local/ 에 풀어두는 것이 나중에 스크립트를 그대로 실행하는 데 유리하다. 마찬가지로 wget으로 받는다.
그리고, 압축을 풀어놓았다면, 이제 PATH를 ~/.bashrc 에 추가해 둔다.
step2를 따라한다.
ncurses2를 설치하는데, 이는 "configure: error: no termcap library found" 를 없애기 위한 용도라고 하지만, 모든 설명대로 다 진행했음에도 불구하고 여전히 step1의 gdb를 컴파일할 때 같은 오류가 발생한다. 인터넷을 찾아보니, 우분투의 경우 libncurses5-dev를 설치하라고 나와 있다.다음과 같은 방법으로 설치할 수 있다.
$ sudo apt-get install libncurses5-dev
그러나, gdb를 위한 라이브러리이기 때문에, gdbserver만 필요할 경우, 굳이 설치할 필요가 없다고 한다. 스킵해도 된다.
step3를 따라한다.
위에 step2 를 따라할 때 처럼 에러 메시지가 나온다. gdbserver만 컴파일하면 되기 때문에'소스폴더/gdb/gdbserver'로 이동한다.
이동한 다음, step3에 적혀 있는 configure 와 make 명령을 수행해 준다.
gdbserver파일이 만들어 진다.
step4. 단말에 gdbserver를 복사
만든 파일을 다음과 같은 명령어로 복사해 둔다.$ adb push ./gdbserver /system/bin
gdbserver의 실행
참고 사이트: http://techpedia.tistory.com/13
댓글 없음:
댓글 쓰기