在windows下使用gcc+gdb编译和调试程序

在图形用户界面日益发达的今天,已经有越来越多的人不知道命令行为何物了。特别是在Linux操作系统下,gcc和gdb的运用显得尤为重要。在Dos窗口下操作,不仅可以看起来很“酷”很专业,而且确实能帮我们很大的忙。下面简单介绍mingw下的gcc的使用。
首先,确保你的电脑内安装了gcc和gdb这两个软件,可以到开始框进行搜索,一般来说,安装了c++编译都会自带这两个部分。
这里使用的是Dev c++。
进入Dev c++的安装目录 内,我这里是D:\Program Files\DEV-CPP\MinGW64\bin这个文件夹,可以看到这几个部件。
在windows下使用gcc+gdb编译和调试程序_第1张图片

要在命令行内使用gcc和gdb首先要配置好环境变量,具体做法如下:
右键 我的电脑->属性->高级系统设置->环境变量->path
然后点击编辑,将D:\Program Files\DEV-CPP\MinGW64\bin复制到末尾,前面用“;”与前面的内容隔开,如图:

在windows下使用gcc+gdb编译和调试程序_第2张图片

下一步就是测试了,用Dev c++编写一个简单的swap程序:

#include
int swap(int *p,int *q)
{
    int t = *p;
    *p = *q;
    *q = t;
}
int main()
{ 
    printf("请输入两个整数:");
    int a,b;
    scanf("%d %d",&a,&b);
    printf("before swap:a = %d,b = %d\n",a,b); 
    swap(&a,&b);
    printf("after swap:a = %d,b = %d\n",a,b); 
    return 0;
}

保存在桌面上,命名为sss.c。
1、点击开始输入cmd进入系统的命令行界面,进入文件所在目录,这里是桌面。
2、输入gcc命令产生可执行文件,格式为:gcc -g -o 文件名 文件名.c
gcc -g -o sss sss.c,回车后就产生了sss.exe文件
3、运行可执行程序,直接输入sss.exe便可以运行了。

在windows下使用gcc+gdb编译和调试程序_第3张图片

下面是用gdb进行调试
基本的gdb调试命令
在windows下使用gcc+gdb编译和调试程序_第4张图片
别忘了,如果对上述解释有疑问,可以输入“help”以获得详尽的帮助信息。

1、在命令行中输入gdb进入调试器
2、载入要调试的程序,命令为:file 文件名 。输入file sss
3、使用list命令查看源代码,输入 l;
4、添加断点 ,格式为:b 行号,在swap函数处添加,输入b 14;

在windows下使用gcc+gdb编译和调试程序_第5张图片

5、使用run命令开始调试,输入r,单步执行;
6、使用n命令执行下一步,
7、遇到断点时,如需进入函数,使用s命令进入函数
若要观测某个变量的值的变化或变量的地址 可以用watch 变量名 或watch &变量名,每次变量更新时进行输出。这里观测swap函数执行时形参*p和*q的值的变化。

在windows下使用gcc+gdb编译和调试程序_第6张图片

8、继续回车(重复上一个命令)执行下一步并观测形参的变化。
如需提前跳出函数,也可输入finish

在windows下使用gcc+gdb编译和调试程序_第7张图片

9、输入q,终止调试。
至此改程序调试过程结束,当然如果有兴趣的可以进一步深入学习Linux下的gcc,我想这将是每个优秀的程序员必须掌握的技能。

你可能感兴趣的:(【c/c++】)