一.gdb使用流程
1.查看文件 在gdb中键入l,就可以查看所载入的文件。
2.设置断点 在gdb中设置断点非常简单,只需在b后面加入对应的行号即可
3.查看断点情况 info b
4.运行代码 gdb默认是从首行开始运行代码,键入r即可,如果想从程序中指定行开始运行,可在r后面加上行号进行。
5.查看变量值 在gdb中键入p+变量值即可,如下所示:
6.单步运行 单步运行可以使用n或s,它们之间的区别在于:若有函数调用的时候,s(step in)会进入该函数而n(step over)不会进入该函数。
7.恢复程序运行 在查看完所需变量及堆栈情况后,就可以使用命令c(continue)恢复程序的正常运行了。这时它会把剩余还未执行的程序执行完,并显示剩余程序中的执行结果。
8.bt (backtrace)表示列出调用栈。
9.display 变量名 表示每次运行后都打印变量的值。
二.gdb的基本命令
1.gdb中不仅可以调试所运行的程序,还可以对程序相关的工作环境进行相应的设定。 2.设置断点与恢复命令 gdb中设置断点有多种方式,其一是按行设置断点,另外还可以设置断点和条件断点。
a.函数断点 gdb中按函数设置断点只需把函数名列在命令b之后 b gdb.c:
三.代码示例
#include <stdio.h> int add_range(int low,int high) { int i,sum; for(i = low;i <= high;i++) { sum = sum + i; } return sum; } int main() { int result[100]; result[0] = add_range(1,10); result[1] = add_range(1,100); printf("result[0] = %d result[1] = %d\n",result[0],result[1]); return 0; }误区一.我们如果将gdb.c重命名下的话,我们gdb调试就无法进行。证明调试并不是只是针对可执行文件,也是需要我们的源文件的。