一般开发c语言程序,都是在ide中编码,调试也是使用集成环境,有时候,我们的程序是在文本编辑器中编写的,这时候可能使用gcc编译,然后运行可执行程序。遇到需要调试的场景,我们就需要借助gdb命令了。
gdb调试,不仅局限于在linux上使用,只要机器上有gdb命令,在windows下也可以进行调试。我的机器上安装了一个树莓派的perl,使用strawberry-perl-5.32.0-64bit.msi进行的安装,他自带了一个c语言编译运行的相关命令。所以可以在windows下进行gdb调试。
gdb调试需要进行gcc编译的时候加上-g参数。在运行程序的时候,不再直接运行,而是加上gdb命令:
准备一个c程序:
swapdemo.c
#include <stdio.h>
void swap(int *a,int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
int main()
{
int a = 3,b = 5;
printf("before: a = %d,b = %d\n",a,b);
swap(&a,&b);
printf("after : a = %d,b = %d\n",a,b);
return 0;
}
编译
Administrator@pail-pc ~/gdbdemo
$ gcc -g swapdemo.c
Administrator@pail-pc ~/gdbdemo
$ ls
a.exe maptest.cpp maptest.exe swapdemo.c
gdb调试:
gdb a.exe
&