例程源码如下:
//add.h
extern int add(int,int);
//add.c
int add(int a, int b)
{
int r = a + b;
return r;
}
//mul.h
extern int mul(int,int);
//mul.c
int mul(int a, int b)
{
int r = a * b;
return r;
}
//main.c
#include "add.h"
#include "mul.h"
#include <stdio.h>
int main()
{
int a,b;
int r;
scanf("%d %d",&a,&b);
r = add(a,b);
r = mul(a,b);
return 1;
}
makefile如下:
cal: main.o add.o mul.o
gcc -g -o cal main.o add.o mul.o
main.o:main.c add.h mul.h
gcc -g -c main.c
add.o:add.c add.h
gcc -g -c add.c
mul.o:mul.c mul.h
gcc -g -c mul.c
调试步骤
1.gdb cal
2.list
可以看到main.c的代码
3.break 9
在r = add(a,b);处设置断点
4.run
运行后在停止与端点
5.s
6.list
可以看到add.c的代码,说明可以对add.c里面的函数调试了