GDB是Linux中强大的程序调试工具,熟练掌握该软件的使用对软件开发有很大的帮助,GDB的使用很简单,但想要使用GDB调试的程序必需在编 译的时候加了调试选项(-g),这样一来要对程序进行调试就要对gcc编译选项中加上这一参数,如果直接在终端中用命令编译(不写makefile),那 么语法很简单,如下:
- 单文件(如main.c):gcc -g main.c -o main或gcc -o main main.c -g
- 多文件(如main.c func.c func.h):gcc -g func.c main.c -o main或gcc -o main main.c func.c -g
但是这样对工程的组织非常不好,所以我们通常使用Make工具,如果想调试程序的话Makefile该怎么写呢?
- 单文件(如main.c):这种情况比较简单,下面这几行命令就可以搞定
main:main.o
gcc -o main main.o
main.o:main.c
gcc -c -g main.c
- 多文件(如main.c func.c func.h):这种情况可以写成下面这种形式
main:main.o func.o
gcc -o main main.o func.o
main.o:main.c
gcc -c -g main.c
func.o:func.h func.c
gcc -c -g func.c
gcc -c -g func.c这句中的”-g”一定要加上,否则在调试过程中将看不到func.c中函数的原型。