LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1427|回复: 6

为什么我加了ggdb3参数gdb还是说no debugging symbols found

[复制链接]
发表于 2004-8-31 01:59:44 | 显示全部楼层 |阅读模式
我编译的是ftp这个程序,原来它的Makefile是:
all: ftp
                                                                                                                                               
include ../MCONFIG
include ../MRULES                                                                                                                                               
                                                                                                                                               
ifneq ($(USE_GLIBC),1)
CFLAGS += -D_GNU_SOURCE
endif
                                                                                                                                               
ifeq ($(USE_READLINE),1)
CFLAGS += -D__USE_READLINE__
LIBS += -lreadline $(LIBTERMCAP)
endif
                                                                                                                                               
ftp: cmds.o cmdtab.o domacro.o ftp.o glob.o main.o ruserpass.o
        $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
                                                                                                                                               
domacro.o ftp.o glob.o main.o ruserpass.o: ftp_var.h pathnames.h
cmds.o cmdtab.o: ftp_var.h pathnames.h cmds.h
cmds.o glob.o: glob.h
                                                                                                                                               
install: ftp
        install -s -m$(BINMODE) ftp $(INSTALLROOT)$(BINDIR)
        ln -sf ftp $(INSTALLROOT)$(BINDIR)/pftp
        install -m$(MANMODE) ftp.1 $(INSTALLROOT)$(MANDIR)/man1
        ln -sf ftp.1 $(INSTALLROOT)$(MANDIR)/man1/pftp.1
                                                                                                                                               
clean:
        rm -f *.o ftp
~
我在CFLAGS中加了-ggdb3,而且编译的时候也-ggdb3参数也已经加进去了:
gcc -pipe -O2 -Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wcast-align -ggdb3  -D__USE_READLINE__ glob.c -c

为什么还是没有debugging symbols?
发表于 2004-8-31 02:45:57 | 显示全部楼层
是不是要用 -g 选项编译啊?-ggdb3 和 -g 有什么关系啊?
发表于 2004-8-31 12:06:23 | 显示全部楼层
把-O2去掉
 楼主| 发表于 2004-8-31 22:50:02 | 显示全部楼层
怎么去啊?
在makefile里面又没有-02选项
 楼主| 发表于 2004-8-31 23:24:53 | 显示全部楼层
好像还是不对啊,就算没有-02选项,用gcc -pipe -Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wcast-align -ggdb3 -D__USE_READLINE__ cmdtab.c -c编译,用gdb调试的时候还是说没有debugging symbols
发表于 2004-9-1 10:22:19 | 显示全部楼层
For example, one set CPPFLAGS might be fine for most of your C compilation, but you need to add an additional -DDEBUG=1 option to one or two special files:

  1.      CC       = gcc
  2.      CFLAGS   = -ggdb3
  3.      CPPFLAGS =
  4.      
  5.      ...
  6.      
  7.      .c.o:
  8.              $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
  9.      
  10.      stackovf.o: stackovf.c
  11.              $(CC) $(CFLAGS) $(CPPFLAGS) -DDEBUG=1 -c stackovf.c
复制代码
发表于 2004-9-1 12:03:50 | 显示全部楼层
最初由 icoming 发表
好像还是不对啊,就算没有-02选项,用gcc -pipe -Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wcast-align -ggdb3 -D__USE_READLINE__ cmdtab.c -c编译,用gdb调试的时候还是说没有debugging symbols


改makefile啊,否则有优化肯定没法调试的
用你上面的选项编译,我这里gdb是可以调试的
再试试吧。仔细看看是不是哪里的设置有冲突
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表