【Linux】gdb cgdb — 基操
gdb & cgdb — 基操
- gdb常用命令
- 断点:
- info:
- 监视:
- 断点使能:
- set + var :临时修改某个变量
- 条件断点:
- Cgdb基操
gdb常用命令
断点:
help: 查看命令帮助
break (b) + 行号 / 函数名: 对应行设置断点
info(i) + break(b):查看所有的断点信息,主要用于查看断点编号,如何删除断点
delete(d)+ 断点编号:删除断点
continue ( c ): 继续运行到下一个断点
注意:只要gdb不退出,新打的断点的编号会一直递增
—————————————————————————————————————————————————
run ( r ): 运行程序
next (n): 单步,不进入函数
step (s): 单步,进入函数
注意:gdb会自动记录最新的一条输入指令,然后一直按回车就是一直执行s
info:
————————————————————————————————————————————————
info(i) + break(b):断点信息
info(i) + locals :查看当前函数内的所有局部变量
info (i)+ watch :查看监视窗口
————————————————————————————————————————————————
监视:
print(p) + 变量名 : 进行调式后,打印当前变量值
display + 变量名:监视变量,与watch不同,窗口会一直有监视变量的信息
undisplay + 监视变量编号:删除对其监视

watch + 变量名:进行调式后,监视变量读写 ,如果变量改变,提醒我,否则不会在窗口出现任何有关提醒 delete(d)+ 监视变量的编号:删除对其监视

p + arr@count::打印数组或指针连续元素
list (l) + 数字:以但前数字为中点,显示当前源代码附近几行(前后5行)

断点使能:
enable + 断点编号:使能断点
disable + 断点编号:关闭断点但不删除

until + 行号:进行调式后,untile + 行号可直接运行到until后的行处,调试往后执行,不可后退
—————————————————————————————————————————————————
set + var :临时修改某个变量

条件断点:

已存在的断点,新增一个条件
用法:condition 断点编号 条件
condition 2 i==0
Cgdb基操
- 窗口之间切换:
源码窗:按 Esc;
gdb 窗:按 i - 调整源码窗大小:用 - 或 =。
- 设置断点:源码窗中移动光标,按 space。取消断点再按一下即可
常用 GDB 命令:在 GDB 窗中使用 b, n, s, c, info threads
