Linux系统C/C++调试-gdb的使用

1.背景

在工程项目中,程序的发布一般有两种模式,分为Debug模式和Release模式,Linux环境下使用gcc和g++编译出来的二进制程序默认是release模式,在release模式下一般就是程序的发行版本,而debug模式下的二进制程序添加了更多的调试信息,可以使用gdb调试工具对程序进行调试,使用方法类似于vs的调试方式。

在编译过程中加上-g以debug方式进行编译, 例如:g++ code.c -o bin -g
2.使用方法

gdb binFile 开始调试已经编译好的程序
ctrl + d 或 quit 退出
list / l + 行号 显示binFile源代码,接着上次的位置往下列,每次列10行。
list / l + 函数名 列出某个函数的源代码
r / run 运行程序(类似于vs的F5)
n / next 单条执行(类似于vsF10的逐语句执行)
s / step 单步执行(类似于vsF11的逐过程执行)
b / break + 行号 在某一行处设置断点
b / break + 函数名 在在某个函数开头设置断点
info break 或 info b 查看断点信息
finish 执行到当前函数返回,然后停下来等待命令
print / p: 打印表达式的值,通过表达式可以修改变量的值
p 变量: 打印变量的值
set var: 修改变量的值
continue / c:从当前位置开始连续而非单步执行程序
run / r: 从开始连续而非单步之形成秩序
d 断点序号n: 删除序号为n的断点
disable 断点序号n: 禁用断点序号为n的断点
enable 断点序号n: 启用断点序号为n的断点
display 变量名: 设置变量常显示(每次停下来都显示查看的变量的值)
undisplay 变量名: 取消变量常显示
until 行号x: 跳至行号为x的地方
bt / breaktrace:查看各级函数调用及其参数
info locals:查看当前栈帧局部变量的值

你可能感兴趣的:(linux,c语言,c++)