嵌入式,代码调试GDB扫盲

本文为Android嵌入式学习系列笔记 三

GDB, 是GNU项目的调试工具(the GNU Project debugger),G—>GNU,DB--->debuger, gdb允许我们观察被调试程序在运行时的内部状态,也可以查看一个程序crash时状态。

gdb可以做四种操作:

1.运行程序,标识任何可能影响程序运行行为的事物;

2.支持断点调试;

3.检查程序停止时的状态;

4.支持改变变量的值;

gdb下载http://www.gnu.org/software/gdb/download/

通过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.http://www.gnu.org/software/gdb/

原文地址:https://www.cnblogs.com/avenwu/p/3051271.html