GDB下载
使用yum工具直接下载
生成可用gdb调试的可执行程序
-g 会保留源文件中的函数名和变量名
启动gdb
gdb 可执行程序名
set args xxx xxx 给程序传参
查看程序中的源代码
当前文件
l(list)
l 行号
l 函数名
非当前文件
l 文件名:行号
l 文件名:函数名
查看当前可显示的行数
show listsize (默认是显示10行)
设置显示的行数
set listsize n
断点
设置断点
b(break) 行号
查看断点
i(info) b
删除断点
d(delete) num(断点的编号)
删除多个
d num1 num2
d num1-num2
设置断点无效
dis num
恢复断点有效
ena num
设置条件断点
b n(行号) if (条件)
调试
打印变量的值
p 变量名
打印变量的类型
ptype 变量名
向下单步调试
n(next) 不会进入函数体
s(step) 会进入到函数体内部
finish 跳出函数体
如果出不去,可能在函数体中有断点,如果有要删除或者设置其无效
一次走多步,直到下一个断点
c(continue)
变量的自动显示
display 变量名 变量自动显示
undisplay 编号 取消变量自动显示
i(info) display 查看自动显示的变量编号
从循环中直接跳出
until
和finish一样,循环中不能有断点
直接设置变量等于某一个值
set var 变量名=value
在程序中对应的值也会发生改变