Android native 静态库 gdb调试 gdbserver

最近开发一个Android native 的so和可执行文件;

关于再gdbserver 调试的记录

1. push ndk的gdbserver

我使用的是ndk-14 不够这个包里面已经没有gdbserver 了 。。。

所以我找到ndk-10 版本的有gdbserver路径:

ndk-r10/android-ndk-r10d/prebuilt/android-arm/gdbserver 

然后我用ndk-10的gdb

ndk-r10/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi-gdb

tips:

使用的gdb工具一定要和push的gdbserver 对应是一个ndk版本的(不能使用调试机的自带的gdbserver)

2. 使用上面的两个工具开始调试

  • push调试的可执行文件
adb root
adb push obj/local/armeabi-v7a/cwtest
  • 再设备端开一个 端口
adb shell
adb root
gdbserver :9999 /data/cwtest 

这样就开启了一个gdb连接

  • pc端连接这个端口
adb forward tcp:9999 tcp:9999
  • 用gdb 工具连接调试

设置源码搜索位置:

 set dir ~/git/new_tsl/test_stl/

设置可执行文件路径

file ~/git/new_tsl/test_stl/obj/local/armeabi-v7a

设置libs的搜索路径

set solib-search-path  ~/git/new_tsl/test_stl/libs/armeabi-v7a/

设置代码显示路径:

directory  ~/git/new_tsl/test_stl/src/

开始连接设备的gdbserver

target remote :9999

会再设备端显示

猜你喜欢

转载自blog.csdn.net/yang_quan_yang/article/details/105860968