原文:http://blog.csdn.net/xinfuqizao/article/details/7955346?utm_source=tuicoollinux
什麼是gdbandroid
GDB遠程調試原理圖shell
遠程調試實戰app
$ adb shell # ps #查看要調試進程的PID # gdbserver :1234 --attach 96 #:1234是端口號,96 是進程ID
$ adb forward tcp:1234 tcp:1234 #端口映射,將pc機的1234端口映射到手機的1234端口
android_project_root/prebuilt/linux-x86/arm-eabi-4.4.3/$ ./arm-eabi-gdb #使用項目下的gdb客戶端去鏈接gdbserver,gdb的類型要選擇針對手機平臺的, 版本要和gdbserver一致。
<gdb> target remote :1234 #鏈接本地的:1234端口,此端口已經和手機的1234端口作好映射。 <gdb> file xxx/out/target/xx...xx/symbols/system/bin/mediaserver #加載可執行程序,注意選擇symbols下的,若是調試的進程是app進程, 這裏選擇app_process。 <gdb> set solib-search-path xxx/out/target/xx...xx/symbols/system/lib #加載全部的動態鏈接庫,注意選擇symbols下的。 <gdb> bt #查看調用堆棧 <gdb> list xxx/xxx..xxx/xxx.cpp #查看相關文件 <gdb> b 100 #在文件的第100行打斷點 <gdb> c #繼續執行程序
使用gdbclient簡化調試流程socket