linux gdb 调试 常见调试命令介绍+总结

1.调试前准备 -g

gcc arcg.c -g -oO -o app       //必须添加-g

2.调试 gdb

gdb app

3.常见调试命令

set args 1 2 3 4 5 6    //设置参数
show args             //查看参数

3.1执行程序 1.start2. run

gdb app
set args 1 2 3 4 5
start //执行一行
c     //继续执行
q     //退出
gdb app
set args 1 2 3 4 5
run/r   

3.2查看代码list l

gdb app
list/l        //默认只显示10行  直接回车显示下10行
list 行号
list 文件名:行号
list 函数名
list 文件名:函数名
set listsize/list 20  //修改显示行数 20行

3.3断点 break b

b 行号
b 函数名
b 文件名:行号
b 文件名:函数名
3.3.1条件断点 if
b 30 if i==5  //i=5时断点生效
3.3.2查看断点 i
info/i
i b   //info break
3.3.3删除断点 d
delete/d
d 断点编号
d 1
d 2 4 6
d 1-5
3.3.4设置断点无效 dis
disable//d
dis 断点编号
dis 1-5
3.3.5使无效断点生效 ena
enable==ena
ena 断点的编号
ena 1-5

3.4继续运行 continue c

3.5打印变量 print  p

p 变量名
p i 
p/fmt i
3.5.2打印变量类型 ptype 
ptype i
3.5.3自动打印信息 display  自动打印变量值

程序运行到断点后 输入display 

启动单步调试 n   后会自动显示

display i
displat/fmt i

查看自动打印列表 

info display
(gdb) info display
Auto-display expressions now in effect:
Num Enb Expression
1:   y  i
2:   y  array[i]
3:   y  /x array[i]
3.5.4取消自动显示 undisplay
undisplay 1 2
3.5.5禁用自定显示  disable
disable display 1
3.5.6启用自动显示enable
enable  display 1

4.单步调试

4.1对程序逐行执行 进入函数内部 step s

4.2从函数跳出 finish

跳出的函数内部无断点 或者断点无效

4.3对程序跳过执行 跳过函数 next n

4.4.单步调试 跳出循环 until 

条件

1.内部不可有断点

2.必须在循环体开始或结束执行

5.设置变量值 set var i=5    

使用场景 如控制循环轮次

6总结

gcc main.c -o main -g
gdb main
set args 1 2 3 4
show args 
run/r  or start
contibue/c
quit/q
list/l
info/i
b 1 
delete/d     -- d 1
disable/dis  -- dis 1
enable/ena   --ena 2

continue/c   --c
print/p i 
ptype i
display 
undisplay
disable display
enable display
step/s
next/n
finish
until
set var i=5

学习总结

10.1 gdb的准备工作_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值