1.启动 gdb 模式
gdb xx_executable_binary
2.断点
b 是 breakpoint 的缩写,d 是 delete 的缩写
b function_a # 加到函数调用之前
b /home/username/code/xxx.c:100 # 加到文件 xxx.c 第100行,注意冒号隔开,用绝对路径
d 1-3 # 删除1-3号断点
d # 删除全部断点,不加参数
3.运行
r 是 run 的缩写,c 是 continue 的缩写,n 是 next 的缩写,s 是 step 的缩写,f 是 finish 的缩写
r args # 加上参数 args,运行到第一个断点
c # 运行到下一个断点
n # 运行一行,如果遇到函数不会进入,而是视作一行代码
s # 运行一行,如果遇到函数会进入,进入后停在函数第一行
f # 跳出当前函数,配合 step 使用
4.打印
p 是 print 的缩写,f 是 file 的缩写
p num # 打印变量 num
p (*ptr) # 打印指针 ptr 的值
ptype var # 打印变量的类型
f # 打印当前文件
backtrace # 打印当前堆栈信息