码迷,mamicode.com
首页 > 数据库 > 详细

解决gdb调试报错“No symbol table is loaded. Use the "file" command.”

时间:2015-04-16 15:47:57      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:

linux下写的Makefile,然后编译成文件,gdb调试的时候用list命令报错.搞了半天,在网上找了很多,说是一定要用-g,

然而我是添加的,后来又有人说是需要把-g写调宏定义CFLAGS = -g,但是还是不对.最后经过自己的摸索,才发现,如果

是.c的文件,用CFLAGS是可以的,但是如果是.cpp文件,则必须使用CPPFLAGS = -g才可以

贴上代码如下

CPP = g++ ##这里用gcc或者是g++都没有影响
CPPFLAGS = -g# -D_REENTRANT -DDEBUG -lpthread  ##如果这里是cpp文件,一定用CPPFLAGS,如果是.c文件,一定用CFLAGS
OBJS = hello.o judge.o
PROG = hello
.PHONY : all clean


all:$(PROG)
$(PROG):$(OBJS)
$(CPP) $(CPPFLAGS) -o $(PROG) $(OBJS)
#也可以写成下面这样,这样就不用考试是用CFLAGS,或者是CPPFLAGS了,不过这样每次都会编译所有的文件,会消耗内在
#hello:hello.cpp judge.cpp
# gcc $(CFLAGS) -o hello hello.cpp judge.cpp

解决gdb调试报错“No symbol table is loaded. Use the "file" command.”

标签:

原文地址:http://blog.csdn.net/xglhw1987/article/details/45075151

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!