0
我以前使用gdb,但从来没有使用makefile,只能以非常简单的方式进行配置。 g ++ -g -o file.cpp等我已经试过了,我无法识别调试对象。我想调试我所有的可执行文件编译。为gdb配置我的生成文件
我正在运行g ++和Ubuntu。
compile: scanner.o parser.o listing.o locals.o globals.o
g++ -o compile scanner.o parser.o listing.o locals.o globals.o
scanner.o: scanner.c locals.h globals.h listing.h tokens.h
g++ -c scanner.c
scanner.c: scanner.l
flex scanner.l
mv lex.yy.c scanner.c
parser.o: parser.c listing.h locals.h globals.h
g++ -c parser.c
parser.c tokens.h: parser.y
bison -d -v parser.y
mv parser.tab.c parser.c
mv parser.tab.h tokens.h
listing.o: listing.cc
g++ -c listing.cc
locals.o: locals.cc
g++ -c locals.cc
globals.o: globals.cc
g++ -c globals.cc
运行它究竟如何你有它,使编译,GDB编译给我一个没有调试符号找到消息。我认为这应该表明有人不使用-g标志? – 2013-02-26 14:12:59
糟糕。编译规则中有一个明显的缺失。编辑。 (虽然这可能不会解决问题......必须给予更多考虑。) – 2013-02-26 14:14:29
你做了一个make clean并重建目标文件吗?观察make的输出并查看'-g'标志是否在命令行中。 – 2013-02-26 14:16:01