1.什么是GDB?
GDB全称是GNU Project Debugger,当程序执行时,让你可以进入到另一个程序的内部查看,或者当一个程序崩溃的时候它在做什么。
GDB可以帮助你做如下四种主要的方面,来帮助你捕捉到bug:
1.启动你的程序,指定可能影响你行为的事情(设定初始的一些变量)
2.在特殊的条件的时候暂停你的程序执行(在端点的时候可以暂停,或者说是条件的暂停)
3.当程序暂停的时候,可以查看这个时候发生了什么(查询堆栈,变量)
4.通过改变程序中的参数,你可以通过实验得出某一个bug所产生的影响,然后继续执行(通过不同的设定,来得到不同的结果,本人理解为测试)
这个调试程序,可以由Ada, C, C++, Objective-C, Pascal(或者其他语言写成)。这个程序可以执行在一个相同的机器或者是一个远程的机器上。
2.使用GDB进行调试(快捷键ctrl+d可以退出GDB)
1.首先当然是一言不合就安装GDB:
1 sudo apt-get install gdb
2.接下来本文围绕着一个c语言文件开始调试
废话不说贴代码来看
#include<stdio.h>
int add(int a,int b)
{
return a+b;
}
int main()
{
int i =0;
int c =0;
while(i<100)
{
c=add (i,c);
printf("c %d",c);
i++;
}
return c;
}
$ gcc -g gdbtest.c -o mytest
生mytest文件,接下来进行调试
$ gdb mytest
在main处传入端点,运行到main,调试,其中breakpoint是break的全程,run是r的全程