Gdb 即使启用-g选项,也未发现调试符号错误

Gdb 即使启用-g选项,也未发现调试符号错误,gdb,makefile,Gdb,Makefile,Makefile的一小部分 CC=gcc -g -MMD EXE=MegaCli all:$(EXE) LDFLAGS=-02 SOUCE_DIR=$(UNIV_VIVA_CLI)lib/linux/ LINK=g++ Ctm.o: $(SOURCE_DIR)Ctm.cpp $(CC) $(CCFLAGS) $(SOURCE_DIR)Ctm.cpp 在其他人登录相同的帖子之前。但是我的Makefile与那篇文章的答案相同。但我仍然收到错误未找到调试符号。然后我也尝试了下面的

Makefile的一小部分

CC=gcc -g -MMD
EXE=MegaCli

all:$(EXE)
LDFLAGS=-02
SOUCE_DIR=$(UNIV_VIVA_CLI)lib/linux/

LINK=g++

Ctm.o: $(SOURCE_DIR)Ctm.cpp
       $(CC) $(CCFLAGS) $(SOURCE_DIR)Ctm.cpp
在其他人登录相同的帖子之前。但是我的
Makefile
与那篇文章的答案相同。但我仍然收到错误
未找到调试符号
。然后我也尝试了下面的命令

(gdb) exec - file MegaCli
error>No symbol table is loaded use the file command

请给出一些解决方案。

不清楚您是如何调用GDB的。不要这样做:

gdb
(gdb) exec - file MegaCli   # I am not sure what this even means!
这样做:

gdb MegaCli
(gdb) run

有一个输入错误表明,要么你没有向我们展示真正的makefile,要么makefile没有做你认为它正在做的事情。手动编译(即在命令行上)时会发生什么情况?如果使用更简单的makefile呢?链接行(生成可执行文件的链接行)是否包含
-g
?如果没有,那就是问题所在。(原则上,使用<代码> GCC < /Cord>)编译C代码和<代码> G++<代码>编译C++代码。