1.编写调试程序
编写test.c文件
#include <stdio.h>
int main(){
int i = 0;
int sum = 0;
for(i = 0 ; i < 10 ; i++){
sum += i;
}
printf("sum is %d\n",sum);
return 0;
}
2.以调试方式编译
通过如下命令对程序进行编译
gcc -g test.c -o test
其中参数g的作用是将调试信息加入到生成的test可执行文件当中,否则GDB就无法对test进行调试
3.启动调试
使用如下命令对test进行调试
gdb test
运行命令后如下所示
3.进行调试
1)查看源文件
通过输入命令 l 可以查看所有代码行数,GDB以10行为单位进行显示,再按一次 l就会显示下10行
2)设置断点
在GDB中通过 b 设置断点,如下所示,输入“b 6”就会在第6行设置断点
3)查看断点信息
使用 info b 命令可以查看断点信息
4)运行程序
使用 r 命令可以运行程序,运行后如果有断点的话,程序会在断点行的前一行停下
5)查看变量值
使用 p 命令可以查看变量值,GDB会以“$N”的方式显示变量值,如下所示
6)继续运行程序
使用 c 命令可以继续运行程序,然后程序会在下一次的循环中再次在断点处停下
7)单步运行
程序有时候可能需要一步一步的进行调试,这时可以使用 s 或 n 指令进行调试,如果遇到调用函数的语句时其中 s 指令可以进入到函数的内部,而 n 不会进入函数内部运行
网友评论