(六)gdb调试

本节是前面章节的延续,主要介绍gdb调试的命令。

一、gdb调试前的准备工作

需要编译的时候,加参数g,生成带调试信息的可执行文件,用于以后的gdb调试。例:

gcc -g hello.c -o hello

二、gdb调试命令

功能命令
启动gdbgdb hello
查看文件listl
查看sort.c第20行l sort.c:20
查看sort.c中的sort函数l sort.c:sort
第22行打断点(break)b 22
条件断点,第22行当 i ==15时停止b 22 if i==15
显示断点信息i(info)i b
运行(start只运行一步,run一直到断点处)start/run
单步调试n(next)n
一直运行到下一个断点位置停下c(continue)c
单步调试,但是可以进入函数s(step)s
查看j的值p(print)p j
查看变量array的类型ptype array
追踪 i 的值display i
不再追踪变量iundisplay +追踪变量 i 的编号
显示追踪变量的编号info display
跳出当前函数,注意需要去掉当前函数中的断点finish
删除断点d(delete)d +断点编号
显示断点编号info b
直接设置变量 i 的值为10set var i=10
退出gdbquit

下面举一个小例子,运用一下上面的命令

#编译hello.c生成带调试信息的可执行文件
gcc -g hello.c -o hello
#启动gdb
gdb hello
#开始运行
start
#第20行,当i=15时打断点
b 20 if i==15
#查看断点信息
info b
#一直运行至断点位置
c
#查看i的值
p i
#追踪i的值
display i
#然后一直next查看
n
#查看追踪变量的编号
info display
#取消追踪变量,假设上一步查到追踪变量i的编号是4
undisplay 4
#删除断点,假设上面断点的编号为3
d 3
#退出gdb
quit

只是一些gdb调试基本命令,温故而知新。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值