嵌入式Linux系统编程学习之七gdb调试器


前言


一、gdb的常用命令

  Linux包含了一个叫gdb的调试程序。gdb可以用来调试C和C++程序。在程序编译时用 -g 选项可打开调试选项。
  常见调试步骤如下:

gcc -o filename.o -Wall filename.c -g	//进入调试用gcc -o fn.o fn.c -g
gdbfilename.o		//进入调试
l					//显示代码(list)
b 4					//在第4行设置断点
r					//运行
n					//下一步不进入函数
s					//单步进入函数
pI					//打印变量I
c					//运行到最后
q					//退出

  gdb的常用命令:

命令格式含义
set args 运行时的参数指定运行时的参数,如set args 2
show args查看设置好的运行参数
path dir设定程序的运行路径
show paths查看程序的运行路径
set environment var [=vahue]设置环境变量
show environment [var]查看环境变量
cd dir进入到dir目录,相当于shell中的cd命令
p | wd显示当前工作目录
shell command运行shell的command命令
info b查看所设断点
break [文件名:] 行号或函数名<条件表达式>设置断点
tbreak [文件名:] 行号或函数名<条件表达式>设置临时断点,到达后被自动删除
delete [断点号]删除指定断点,其断点号为"info b"中的第一栏。若默认断点号则删除所有断点
disable [断点号]停止指定断点,使用"info b"仍能查看此断点。若默认断点号则停止所有断点
enable [断点号]激活指定断点,即激活被disable停止的断点
condition [断点号] <条件表达式>修改对应断点的条件
ignore [断点号] <num>在程序执行中,忽略对应断点num次
Step单步恢复程序运行,且进入函数调用
Next单步恢复程序运行,但不进入函数调用
Finish运行程序,直到当前函数完成返回
c继续执行函数,直到函数结束或遇到新的断点
list <行号> | <函数名>查看指定位置代码
file [文件名]加载指定文件
forward -search 正则表达式源代码前向搜索
reverse -search 正则表达式源代码后向搜索
dir dir停止路径名
show directories显示定义了的源文件搜索路径
info line显示加载到gdb内存中的代码
print 表达式 | 变量查看程序运行时对应表达式和变量的值
x <n/f/u>查看内存变量内容。n为整数,表示显示内存的长度;f表示显示的格式;u表示从当前地址往后请求显示的字节数
display 表达式设定在单步运行或其他情况中,自动显示的对应表达式的内容
backtrace查看当前栈的情况,即可以查到调用哪些函数尚未返回

  按Tab键补齐命令,用光标键上下翻动历史命令,用help up看帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值