一、gdb是什么?
GDB,全称GNU调试器(GNU Debugger),是一个强大的Unix/Linux下的源代码调试工具。它允许你以单步方式执行程序,并查看变量值、内存内容等,从而帮助程序员找出程序中的问题。
二、基础命令
1.首先在使用gcc编译是加上 -g得到调试表
2.gdb基础指令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| list # list 1 列出源码。根据源码指定 行号设置断点。
b # b 20 在20行位置设置断点。
run/r # 运行程序
n/next #下一条指令(会越过函数)
s/step #下一条指令(会进入函数)
p/print #p i 查看变量的值。
continue #继续执行断点后续指令。
finish #结束当前函数调用。
quit #退出gdb当前调试。
|
3.其他命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| run #使用run查找段错误出现位置。
set args #设置main函数命令行参数 (在 start、run 之前)
run #字串1 字串2 ...: 设置main函数命令行参数
info b # 查看断点信息表
b 20 if i = 5 # 设置条件断点。
ptype #查看变量类型。
bt #列出当前程序正存活着的栈帧。
frame #根据栈帧编号,切换栈帧。
display + 变量名 #设置跟踪变量
undisplay + 变量号 #解除跟踪
undisplay #取消设置跟踪变量。 使用跟踪变量的编号。
start #单步执行,运行程序,停在第一行执行语句
finish #结束当前函数,返回函数调用点 set args #设置main函数命令行参数 也可以 run 字串1 字串2 ...设置main函数命令行参数
bt #列出当前程序正存活着的栈帧
frame #根据栈帧号,切换栈帧
delete/d #删除断点
|
总结
使用GDB,程序员可以深入了解程序的运行情况,从而更容易地找到和修复错误。