最近开发一个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连接
扫描二维码关注公众号,回复:
11521081 查看本文章
- 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
会再设备端显示