android下远程GDB调试
来源:互联网 发布:电商美工设计 编辑:程序博客网 时间:2024/05/01 12:30
这里指的是通过PC机端通过GDB可以远程调试目标板(android设备,如手机等)。在4.0版本的android下都会有gdbserver,可以再prebuilt或者out目录下能够找到。而gdb client是在prebuilt中的。
Android下对目标板的GDB调试是基于linux下GDB的调试,其步骤如下。
1 在目标板上启动gdb server,目标板和宿主机是通过TCP协议通信的。而ADB是可以实现这种通信的。利用adbshell进入目标板的shell,然后gdbserver :5039 /system/bin/mediaserver,这个的意思是通过5039端口来监听/system/bin/mediaserver可执行文件。如果成功的话,会显示Process mediaserver created; pid = 4216 Listening on port 5039。这时目标板已经就绪,等待宿主机的连接和控制调试。
gdbserver :5039 /system/bin/mediaserver
2 利用adb打开TCP连接,命令如下:
adb forward tcp:5039 tcp:5039
将宿主机的端口5039和目标板的端口5039相连,实现通信。
3 然后就是利用gdb调试了。注意在宿主机上的可执行程序和目标机上的可执行程序要保持一致,并且在编译的时候利用-g选项参数进行编译,如果想跟踪静态库或者动态库中的执行情况,必须打开所有的调试,将整个工程进行编译。在执行以下命令的时候,注意是在ICS的目录下。
prebuilt/Linux/toolchain-eabi-4.2.1/bin/arm-eabi-gdb out/target/product/product-name/symbols/system/bin/mediaserver
4 设置参数,solib-absolute-path是设置符号的搜索路径,如果有些库在搜索路径还是找不到的话,有必要设置solib-search-path。
set solib-absolute-prefix /absolute-source-path/out/target/product/product-name/symbols
set solib-search-path /absolute-source-path/out/target/product/product-name/symbols/system/lib
5 连接目标板,当连接成功后,在adb shell下回显示Remote debugging from host 127.0.0.1。此时连接成功,就可以像普通的GDB一样,用continue,next ,step ,list,break等进行调试。
target remote :5039
6 android gdb debug 参考见
http://www.kandroid.org/online-pdk/guide/debugging_gdb.html
- android下远程GDB调试
- Android下用gdb远程调试
- gdb 远程调试android进程
- gdb 远程调试android进程
- gdb 远程调试android进程
- gdb 远程调试android进程
- gdb 远程调试android进程
- Android 下GDB调试
- arm 嵌入式下的 gdb 远程调试
- linux下的GDB远程调试
- Linux下GDB远程调试技术
- GDB+gdbserver 远程调试android native code
- GDB + gdbserver 远程调试android native code
- 用GDB远程调试android native程序
- GDB远程调试(一)之DM8168下gdb远程调试环境的搭建
- GDB远程调试(一)之DM8168下gdb远程调试环境的搭建
- gdb远程调试
- GDB远程调试
- IT项目管理的三个条件、五个步骤
- 五大数据库常用SQL比较(二)
- __except() 的处理1 --- 计算 Filter 表达式
- 用socket自定义简单协议实现文件上传与接受
- 关于oracle中insert 、select等基本使用
- android下远程GDB调试
- html常用小技巧
- [乐意黎原创] 地铁和轻轨的区别, 中国目前有几个城市有地铁
- 数据库安装及数据库问题解决(六)
- FLEX拖拽实现及介绍
- Google C++ unit test 在ARM Android 2.3 上的编译与使用
- ThreadTest求教!!这是为什么啊?
- 软件调试安装问题汇总
- java中的字符集的编码