1、启动和退出gdb
如果一个可执行文件可以被gdb调试,那么在使用编译器gcc编译程序时需要加入-g选项。-g选项告诉gcc在编译程序时加入调试信息,这样gdb才可以调试这个被编译的程序。gdb调试的是可执行文件。
gdb调试一个程序的命令格式是:
gdb 程序文件名
启动gdb后,首先显示了一段版权说明,然后是gdb的提示符:(gdb)。可以在(gdb)之后输入调试命令。
如果要使gdb启动时不输出版权说明,可以在执行时加上-q选项
结束调试:quit命令
2、显示和查找程序源代码
list:显示10行代码
list5,10:显示5行到10行代码。
list test.c:5,10:显示源文件test.c中的第5行到10行的代码
list get_num:显示get_num函数周围的代码。
3、执行程序和获得帮助
3.1执行程序,在gdb调试符下输入run即可
3.2获得帮助help all ,help list
4、设置和管理断点
1)以行号设置断点
2)以函数名设置断点
3)以条件表达式设置断点 / break 行号或函数名 if 条件/watch 条件表达式
5、查看当前设置的中断点
1)break 行号
2)break 行号或函数名 if条件
3)info breakpoints
6、使中断失效或有效
diable 断点编号
enable 断点编号
7、删除断点:
可以用clear或delete命令。
1)clear:删除程序中所有的断点
2)clear行号:删除此行的断点
3)clear 函数名:删除该函数的断点
4)delete 断点编号1,断点编号2,断点编号3....
8、查看和设置变量的值
当程序执行到中端点暂停执行时,往往要查看变量或表达式的值,借此了解程序的执行状态,进而发现问题所在
print 变量或表达式:打印变量或表达式当前的值;
print 变量=值:对变量进行赋值
set 变量=值:对变量进行赋值
9、控制程序的执行
1)continue命令
2)kill命令
3)next和step命令