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

编程入门 行业动态 更新时间:2024-10-21 17:30:18

linux gdb 调试 常见调试<a href=https://www.elefans.com/category/jswz/34/1771323.html style=命令介绍+总结"/>

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 2continue/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

更多推荐

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

本文发布于:2023-11-15 23:29:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1609461.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:命令   常见   linux   gdb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!