本文为Android嵌入式学习系列笔记 三
GDB, 是GNU项目的调试工具(the GNU Project debugger),G—>GNU,DB--->debuger, gdb允许我们观察被调试程序在运行时的内部状态,也可以查看一个程序crash时状态。
gdb可以做四种操作:
1.运行程序,标识任何可能影响程序运行行为的事物;
2.支持断点调试;
3.检查程序停止时的状态;
4.支持改变变量的值;
gdb下载
通过gdb yourprogram可以启动gdb调试,启动gdb之后可以通过quit或Ctrl - d退出,gdb还可以调试在运行中的进程gdb program 1234 ,其中1234标识进程的id。
在gdb调试过程中,如果你突然想执行摸个shell命令,可以直接键入shell yourcommand,也就是在命令前加上shell,同理也可以执行make xxx
需要注意的是:
源文件编译后切包含调试信息才能够被gdb调试,通常是gcc加上-g参数表示编译时附带调试信息,当然还可以再跟上-o来指定输出文件,也可以不指定采取默认。
调试相关参数
run/r 启动gdb
step/s 进入,相当于step into
next/n 下一步, 相当于step over
continue/c 继续执行
break place 在place处加断点,place可以是行号,函数名,多文件调试时,place可以加上文件名用于区别
print x 输出变量x的当前值
info break/ i b 显示所有断点
delete break place 删除断点
references:
1GDB homepage.