没有得到要生成的调试符号

时间:2016-07-11 12:58:42

标签: gcc makefile gdb

我正在使用make和调试符号没有生成。这是我的makefile:

program: ui.o data.o string.o
        c99 -ggdb -o program2 ui.o data.o string.o

clean :
        rm -f program2

ui.o : ui.c data.h
        c99 -ggdb -c ui.c

data.o : data.c data.h
        c99 -ggdb -c data.c

string.o : string.c string.h
        c99 -ggdb -c string.c

如何生成调试符号?当我使用gdb program2运行gdb时,它会发出警告"找不到调试符号"。

1 个答案:

答案 0 :(得分:1)

  1. 您的Makefile版本program2,但假装构建program(即第一行的目标错误)。
  2. 您的clean目标也应该清除*.o,否则make clean; make只会重新链接 program,但不会重新编译其中的任何对象。
  3. 上述因素之一可能是您所观察到的缺少调试符号的原因。