首页 > 代码库 > gdb常用调试命令

gdb常用调试命令

为了gdb显示调试信息,编译时gcc应加上-g选项,没有-g将看不到函数名、变量名,所替代的是运行时的内存地址。
gcc -g

(gdb)l                 相当于list,每次显示10行源码
(gdb)l 10              显示以第10行为中心的10行源码
(gdb)回车              表示重复上一次命令
(gdb)b 16              在第16行设置断点
(gdb)b func            在函数func入口处设置断点
(gdb)info b            查看断点信息,可显示断点编号
(gdb)r                 运行程序
(gdb)n                 单步执行
(gdb)c                 继续执行
(gdb)p i               打印变量i的值
(gdb)bt                查看函数堆栈
(gdb)s                 进入函数内执行
(gdb)finish            跳出函数继续执行
(gdb)q                 退出gdb
(gdb)help              查看帮助
(gdb)set args          指定运行时的参数,如set args 1 2
(gdb)clear 10          清除第10行的断点
(gdb)delete            清除所有断点
(gdb)delete 1          清除编号为1 的断点,可先通过info b查看断点编号
(gdb)disable           停用,但不删除断点
(gdb)enable            启用某断点
(gdb)show args         查看运行参数
(gdb)b 30 if num == 1  条件断点,条件语句可以用{}扩起来,也可以不用
(gdb)watch i           设置观察点,当变量i被改变时停到那一行
(gdb)awatch i          设置观察点, 当变量i被访问、被改变时停到那一行
(gdb)rwatch            设置观察点, 当变量i被访问时停到那一行
(gdb)display i         每次执行到断点时,打印变量i的值


gdb常用调试命令