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