GDB 笔记
2017.9.17
在CSDN:nancygreen的专栏学习《linux c/c++ GDB教程详解》,对GDB调试有了一点感性的认识。
命令:
回车 执行上一个命令
list 显示源代码
- list [数字] [数字] 显示从第几行到第几行的源代码
break 设置断点,可以是函数名称,也可以是在源文件中的行号
- info break 查看断点信息
run 运行程序,程序会在第一个断点处停下
next 单步执行 程序只执行一条语句,然后停下
- next [数字] 执行n步
print 打印,后接变量,能显示变量的值
continue 继续运行,程序会继续持续运行,遇断点停止
finish 完成函数运行
quit 退出GDB
2017.9.19
自己发现的命令:
- delete 删除断点
- delete [数字] 删除指定断点,数字从info中获得
新学的命令:
clear [数字] 删除指定数字之前的全部断点
print *[数组名]@[数组长度n] 打印数组
2017.11.2
新学的命令:
set args [参数] 设置命令行参数
show args 打印命令行参数
step 单步进入,遇到函数会进入函数
until 在循环体退出前停下
jump [数字] 跳转到第n行,但会持续执行不是单步
return 强制返回当前函数
break [行号或函数名] if [表达式] 设置条件断点,满足条件就停住
watch [表达式] 表达式一不满足就停下
kill 终止正在运行的程序