0
이전에 gdb를 사용했지만 메이크 파일을 사용하지 않고 아주 간단한 방법으로 구성했습니다. g ++ -g -o file.cpp 등 모든 것을 시도해 보았고 디버깅 객체를 인식 할 수 없습니다. 내 모든 실행 가능한 컴파일을 디버그하고 싶다.gdb 용 메이크 파일 구성
저는 g ++ 및 우분투를 실행하고 있습니다.
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 플래그를 사용하지 않는 누군가를 가리 키기로되어 있다고 생각했다. –
나는 컴파일을위한 규칙에서 눈부신 누락을 가지고있다. 편집 됨. (아마도이 문제를 해결할 수는 없지만 ... 더 많은 고려해야합니다.) –
정리를하고 오브젝트 파일을 다시 작성 했습니까? make의 결과를보고'-g' 플래그가 명령 행에 있는지 확인하십시오. –