#cmd 表明该命令运行于android设备控制台上 $cmd 表明该命令运行于Linux PC控制台上 (gdb)cmd 表明该命令运行于GDB控制台上
1. 调试已运行的rild
#ps | grep rild
得到rild的进程rild-pid
#gdbserver :5039 --attach rild-pid
或者调试新的rild进程
#gdbserver :5039 rild
2. 用ADB设置转发端口
$adb forward tcp:5039 tcp:5039
3. 在android的platform目录下
$./ prebuilt/gcc/linux—x86/x86/。。。/bin/***-gdb
4. 设置符号表
(gdb)set solib-absolute-prefix /home/loginname/android-platform/out/target/product/saarbmg1/symbols (gdb)set solib-search-path /home/loginname/android-platform/out/target/product/saarbmg1/symbols/system/lib
5. 与GDB server连接
(gdb)target remote :5039 (gdb)shared
后面就可以进行调试了
下面是常用的gdb调试命令
(gdb)help [cmd] 显示命令cmd的帮助 (gdb)bt 显示调用堆栈 (gdb)next|n 执行下一代码 (gdb)step|s 执行到下一行代码 (gdb)run|r 继续运行 (gdb)jump lineno 执行到指定行为止 (gdb)break|b lineno|function if condifion 设置断点 (gdb)directory|dir dir1:dir2 指定源文件搜索路径