1.gdb调试的对象是可执行文件,而不是程序的源代码。因此在使用gcc编译器时 需加-g选项。告诉gcc编译器加入调试信息。
例如 gcc -g test.c -o test
2.调试gdb的格式是
例如 gdb test
3.在启动gdb后,会显示一段版权说明,如果要不显示 加入-q即可
例如 gdb -q test
4.如果要退出时使用 quit命令
5.显示和查找程序源代码
list 5,10:显示第5行到第10行代码
list test.c:5,10 :显示test.c 的第5行到第10行代码
list get_sum :显示get_sum函数周围的代码
list test.c:get_sum:显示test.c文件的get_sum函数周围的代码
6.如果在调试过程中要运行linux命令,则可在gdb的提示符下输入shell命令
例如:shell ls
7.使用gdb -q test或 file test只是装入程序,程序并没有运行,如果要程序运行,在gdb提示符下输入 run就好
8.设置和管理断点
例如:break 7 在第7行设置断点
然后输入run 即可
也可在函数处设置断点 例如break get_sum
8.1 还有一种方法设置断点的命令
watch i == 99
9.要使程序继续进行 则输入continue 或者next
10.可使用print 打印出来变量的值
11.查看当前设置的中断点
info breakpoints
12.使中断失效或有效
disable 断点编号(失效) enable 断点编号(恢复有效)
13.删除断点
diasble 或者 clear 命令(后面添加行号或者断点编号)
14.查看和设置变量的值
1.print' 变量或表达式:打印变量或表达式当前的值
变量=值: 对变量进行赋值
表达式@要打印的值得个数n打印表达式值开始的n个数
15.whaits
显示某个变量或者表达式值得数据类型
16.控制程序的执行
continue:继续执行,直到下一个断点或者运行为止
kill:结束当前程序的调试
next和step:一次一条的执行。next执行函数调用后的语句;而step 则会跟踪进入函数