1、 启动gdb调试功能
(1)gdb app
(2)给程序传参:set args xx1 xx2
2、 查看代码(list/l)
(1)查看当前文件:
l
l 行号
l 函数名123
(2)查看非当前文件:
l 文件名:行号
l 文件名:函数名12
(3)设置显示的行数
set listsize n
show listsize12
3、断点操作(break/b)
(1)设置断点
b 行号
b 函数名
b 文件名:行号
b 文件名:函数名1234
(2)查看断点
i b 或 info b1
(3)删除断点
d num(断点的编号,通过"i b"可得)
d num1 num2(删除多个断点)
d num1-num4(删除多个断点) 123
(4)设置断点无效
dis num(断点的编号)1
(5)断点生效
enb num((断点的编号)1
(6)设置条件断点
b 行号 if 变量名==var1
4、调试相关
(1)让gdb跑起来
start:运行main()函数的1行
run/r:停在第一个断点的位置12
(2)打印变量的值
p 变量名1
(3)打印变量的类型
ptype 变量名1
(4)向下单步调试(不进入函数体)
n / next1
(5)向下单步调试(进入函数体)
s / step1
跳出函数体:
finish1
若跳不出注意函数体中是否有断点,如果有需要删掉或设置无效才可跳出
(6)继续运行gdb,停在下一个断点位置
c/continue1
(7)单步调试中变量的自动显示
display 变量名1
取消显示:
undisplay 编号1
(8)从循环体中直接跳出(同样注意不能在循环中有断点)
until1
(9)直接设置变量等于某值
set var 变量名=value1
(10)退出gdb
q/quit
本文来自 bright261 的CSDN 博客,转载链接:https://blog.csdn.net/qq_29344757/article/details/79563990?utm_source=copy