gdb 相关命令
参考教程:Linux gdb调试器用法全面解析gdb断点(四)删除gdb: how to print the current line or find the current line number?GDB Error: “The program is not being run”编译时:gcc -g test.c -o test进入调试:gdb test.ou...
参考教程:
Linux gdb调试器用法全面解析
gdb断点(四)删除
gdb: how to print the current line or find the current line number?
GDB Error: “The program is not being run”
编译时:
gcc -g test.c -o test
进入调试:
gdb test.out
list 命令
缩写 l
- 跟行号
- 跟函数名(run时停止在函数首行)
run 命令
缩写 r
- 停止在断点处
- 指定参数路径等
break 命令
缩写 b
跟行号
跟函数名
b +offset / -offset,在当前行的前面或后面 offset 行停止
break file:line_num,在源文件的某行停止
break *add,在 add 内存地址停止
break … if condition ,条件断点,中间…代表是上述命令
查看断点
info break break_num
缩写
i b
删除断点
delete break_num
缩写 d n
删除行断点
clear func clear 无缩写
clear file:line_num
clear line_num
单步命令
next 命令
缩写 n
next count,执行 count 条指令
重复上一条命令:按下回车 。即每一次重复执行上一条指令时,不需要重复输入,只需回车即可。
附:报错”The program is not being run.”
程序没有自动开始运行,此时输入
start
即可开始调试,注意不要使用run
命令。
step 命令
缩写 s
- 可以进入函数
- step count
finish 命令
缩写 f
- 执行程序至当前函数完成,打印堆栈信息和返回值等
until 命令
缩写 u
- 运行程序至推出循环体
stepi 和 nexti 命令
缩写分别为 si 和 ni
- 单步执行机器指令
frame 命令
缩写 f
- 显示当前所在的行以及相关信息
continue 命令
缩写 c
- 程序停止后,continue 执行到结束或断点处,或进行 watch 的变量变化处
- continue ignore-break-num,忽略多少断点
print 命令
缩写 p
print /f,由 f 指定输出格式
- x 十六进制
- d 十进制
- u 十六进制无符号整型
- o 八进制
- t 二进制
- c 字符格式
- f 浮点格式
动态数组
int *array = (int *)malloc (len * sizeof (int))
查看该动态数组的值:
p *array@len
p {*type*} add ,查看地-址 add 处 type 类型的值
display 命令,设置程序停止时自动显示的变量
print x = 4,修改变量值
watch 命令
缩写 w
- 观察的变量变化时停止程序
- watch exp ,观察表达式或变量
- rwatch exp,表达式或变量被读取时,停止程序
- awatch exp,表达式或变量被读或写时,停止程序
- info watchpoints,列出所有观测点
更多推荐
所有评论(0)