gdb使用背景
程序的发布方式有两种,debug模式和release模式
Linux gcc/g++出来的二进制程序,默认是release模式
要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项
gdb使用方法
首先进入gdb
gdb test_g
list显示代码
断点
b 行号:打断点
(break缩写)
info b :查看断点信息
(information缩写)
运行到断点处
r :运行程序
(run的缩写)
查看变量
p:打印表达式的值,通过表达式可以修改变量的值或者调用函数
(print的缩写)
p 变量:打印变量值。
p &变量:打印变量地址
逐语句执行
s:进入函数调用
(step的缩写)
逐过程执行
n 单条执行(不进入函数调用)
(next的缩写)
删除断点
d breakpoints :删除所有断点
d breakpoints n :删除序号为 n 的断点
(delete的缩写)
调用堆栈
bt:查看各级函数调用及参数
(breaktrace的缩写)
跟踪变量
display 变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay :取消对先前设置的那些变量的跟踪
跳转至x行
until X 行号:跳至 X 行
跳转至下一个断点
c :从当前位置开始连续而非单步执行程序
(continue的缩写)
将一个指定函数跑完
finish:执行完成一个函数就停止