gdbserver 安卓apk

gdbserver  调试程序
底层调用c/c++ 动态库, 动态库带调试选项
查看手机IP 192.168.1.177
包所调用的c/c++ 库是在/data/data/包名/lib/ 下

1、将安卓ndk 文件夹/usr/local/src/android-ndk-r9d/prebuilt/android-arm/gdbserver/gdbserver  在win 下通过adb push 到 /data/local/tmp/ 文件夹下
2、进入刚刚带带ndk-build 编译环境的linux pc机上, 建立一个debug文件夹, 在该debug 文件夹下增加一个gdb 文件夹, (debug/gdb)
3、可在win 系统下 debug/gdb文件夹 下通过adb :   adb pull /system/lib 、  adb pull /system/bin/app_process  , 将调用的动态库 mv libblcp_app.so debug/gdb/   、mv libblcp_app.so debug/gdb/ 
4、/usr/local/src/android-ndk-r9d/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gdb  启动   (此处gdb 选的类型要和手机上gdbserver 一致)
5、file /home/*/*/debug/gdb/app_process
6、set solib-search-path  /home/*/*/debug/gdb
7、adb shell  、 su 、am start -a android.intent.action.MAIN -n org.bl/org.bl.ApjsuaActivity  启动 然后 ps  查看 org.bl 包名 进程pid(org.bl  为java 包名, ApjsuaActivity 为类名
8、/data/local/tmp/gdbserver :1234 --attach pid
9、进入刚刚pc 机上启动的gdb 环境下target remote 192.168.1.177:1234 
10、c 继续运行
11、 在手机上操作, 观看gdb 中程序运行, 也可打断点

可结合logcat 查看程序执行情况

原文地址:https://www.cnblogs.com/zfyouxi/p/4065388.html