目录
我们的程序在发布的时候,有两个版本,release和debug,其中release是发行版本,debug是调试版本
Linux下的gcc/g++编译出来的二进制程序,默认是release模式
假如我们要使用gdb调试,必须在源代码生成二进制程序的时候, 加上-g选项
gdb 文件 使用gdb调试代码
quit(q) 或者 ctrl + d 退出gdb调试
list(l) 查看10行代码,从第一行开始
list(l) 数字 查看数字-5 - 数字+4行代码
list 数字1,数字2 查看第数字1 - 数字2行的代码
run(r) 运行程序
next(n) 单行执行(逐语句,需设置断点让程序运行起来)
step(s) 进入函数调用(逐过程,需设置断点让程序运行起来)
break(b) n 在第n行设置断点
break(b) 函数名 在某个函数开头第一行代码处设置断点
info break(b) 查看断点信息
finish 运行完当前函数
print(p) 打印变量的值
set var 变量 = n 将变量设置为n
display 变量 可以将变量常显示
undisplay 编号 取消编号n的常显示
continue(c) 从当前位置开始连续而非单步执行程序
delete breakpoints 删除所有断点
delete breakpoints n 删除序号为n的断点
disable breakpoints(disable) 禁用所有断点
enable breakpoints(enable) 启用所有断点
disable n 禁用n编号的断点
enable n 启用n编号的断点
until X 跳至X行
breaktrace(bt) 查看各级函数调用及参数
info(i) locals 查看当前栈帧局部变量的值
quit(q) 退出gdb调试