gdb调试多个文件

来源:互联网 发布:一淘和淘宝客同时返利 编辑:程序博客网 时间:2024/05/18 00:39

例程源码如下:

//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里面的函数调试了