1.gdb编译/启动/退出/传参/查看源代码
1.gdb编译程序
使用gcc编译程序生成可执行文件的命令中,加上-g参数
2.启动gdb调试程序
gdb 可执行程序
3.退出gdb调试
在gdb中输入quit(q)
4.命令行传参
set args ___ ___ ___
5.gdb查看源代码:list(l)
[1] listsize显示设置
默认情况下,显示list的上下各10行
list showsize #执行l命令,默认显示几行
set listsize 20 #设置显示的行数为20
[2] list(l)的使用
l 文件名:行号
l 文件名:函数名
2.断点相关命令
1.1设置断点:break(b)
b 文件名:行号
b 文件名:函数名
1.2条件断点
b 行号 if 变量==var
例:b 17 if i==10 表示:在第17行打断点,当i==10条件成立时,程序停在断点处
2.查看设置过的断点info(i) b
3.删除断点:del(d) 断点编号Num
del num1 num2 ... numN
del numK1-numK2
4.将断点设为[无效]:disable(dis) 断点编号Num
5.将断点设为[有效]:enable(ena) 断点编号Num
3.代码调试相关命令
启动并执行程序,停在程序的第一行:start
启动并执行程序,停在断点break处:run(r)
查看变量的值:print(p) 变量
查看变量的类型:ptype 变量
在程序执行的过程中,实时自动地显示变量的值:dispaly i
取消实时自动地显示变量的值:
1.info(i) display
2.undisplay 编号Num
向下走,程序停在下一个断点:continue(c)
向下走一步,不会进入函数体:next(n)
向下走一步,会进入函数体:step(s)
跳出函数体:finish
从循环体直接跳出:until
直接设置变量等于某一个值:功能类似于条件断点
[set var] 变量名=value