无锡网站网页设计建设网站价位
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:执行完成一个函数就停止
