2011-12-29 10 views
5

में मेकग मेकफ़ाइल प्रोजेक्ट को मैंने ग्रहण में "मेकफ़ाइल प्रोजेक्ट के रूप में मौजूदा कोड" आयात किया है। मैं ग्रहण में डीबग करना चाहता हूं जैसे कि मैं कोड को बाहर करने में ब्रेकपॉइंट या चरण बना सकता हूं। यदि मैं सीधे परियोजना को डीबग करता हूं तो ग्रहण कहता है कि XXX.cpp के लिए कोई स्रोत कोड नहीं है, ताकि मैं डीबग नहीं कर सकूं।ग्रहण

ग्रहण में डीबग करने के लिए मेकफ़ाइल को कैसे बदलूं?

उत्तर

12

बस सुनिश्चित करें कि आपका मेकफ़ाइल लक्ष्य निष्पादन योग्य नहीं है, और इसमें डीबग प्रतीक शामिल हैं।

इसका मतलब है कि gcc लाइन -s शामिल नहीं करना चाहिए, और यह -g

शामिल करना चाहिए जैसे साधारण Makefile का एक उदाहरण होगा:

TARGET = YOUR_EXECUTABLE_NAME 
SOURCES = $(shell echo *.c) 
HEADERS = $(shell echo *.h) 

prefix = /usr/local 
bindir = $(prefix)/bin 

all: $(TARGET) 

debug: CFLAGS += -g -O0 -Wall -Wextra 
debug: $(TARGET) 

$(TARGET): $(SOURCES) $(HEADERS) 
    $(CC) $(CFLAGS) $(DEFS) -o $(TARGET) $(SOURCES) $(LIBS) 

install: $(TARGET) 
    install -s -D $(TARGET) $(DESTDIR)$(bindir)/$(TARGET) 

uninstall: 
    rm -f $(DESTDIR)$(bindir)/$(TARGET) 

clean: 
    rm -f $(TARGET) 

distclean: clean 

.PHONY : all debug install uninstall clean distclean