arm-linux-gnueabi-gcc -static -fno-stack-protector -fno-pie -march=armv7-a hello.c -o hello
을 사용하여 arm v7 용 c 프로그램을 컴파일하고 android 장치의 루트 내부에서/data/local/hello로 이진을 푸시했습니다. adb 쉘을 사용하여 프로그램을 실행할 수 있습니다. 그러나 제 질문은 어떻게 프로그램을 디버그 할 수 있습니까? 즉, 어떻게 프로그램 카운터와 정보를 볼 수 있습니까?어떻게 안드로이드에서 네이티브 컴파일 된 C 프로그램의 스택 추적을 볼 수 있습니까?
2
A
답변
2
원격 모드에서 gdb를 사용하십시오. https://source.android.com/devices/tech/debug/gdb 아마도 작동합니다 (과거에는 문제가있었습니다).
Google 브레이크 패드를 사용해 볼 수도 있습니다. https://github.com/google/breakpad/blob/master/README.ANDROID 가끔 작동합니다.