2012-06-29 5 views
5

मेरे पास एक प्रोजेक्ट है जिस पर मैं काम कर रहा हूं और इसमें कई फाइलें हैं और मैं प्रोजेक्ट को संकलित करने के लिए उपयोग करता हूं। यहाँ makefileफ़ंक्शन gdb से बाहर निकलने तक एकल चरणबद्ध

CC = /opt/gcc-4.7-cilkplus/bin/gcc 
CFLAGS = -ggdb3 -Wall 
COMPLILEFLAGS = `mysql_config --include` -I/opt/gcc-4.7-cilkplus/include/ 
LINKERINFO = `mysql_config --cflags --libs` -lrt -lm -lz 
CILKFLAGS = -lcilkrts 

# To be provided at the commandline 
DIR = './bloom' 
MODE = '2' 
FILENAME = 'database.info' 

exec: main.o mysql-client.o databaseConnection-common.o murmurhash3.o bloom-filter.o md5.o auxilary-functions.o 
    $(CC) $(CFLAGS) -o exec main.o mysql-client.o databaseConnection-common.o murmurhash3.o bloom-filter.o \ 
    md5.o auxilary-functions.c $(LINKERINFO) $(CILKFLAGS) 

main.o: main.c mysql-client.h databaseConnection-common.h bloom-filter.h 
    $(CC) $(CFLAGS) $(COMPLILEFLAGS) -c main.c $(CILKFLAGS) 

bloom-filter.o: bloom-filter.c bloom-filter.h murmurhash3.h auxilary-functions.h 
    $(CC) $(CFLAGS) $(COMPLILEFLAGS) -c bloom-filter.c 

murmurhash3.o: murmurhash3.c murmurhash3.h 
    $(CC) $(CFLAGS) -c murmurhash3.c 

md5.o: md5.c md5.h 
    $(CC) $(CFLAGS) -c md5.c 

mysql-client.o: mysql-client.c mysql-client.h databaseConnection-common.h 
    $(CC) $(CFLAGS) $(COMPLILEFLAGS) -c mysql-client.c 

databaseConnection-common.o: databaseConnection-common.c databaseConnection-common.h 
    $(CC) $(CFLAGS) $(COMPLILEFLAGS) -c databaseConnection-common.c 

auxilary-functions.o: auxilary-functions.h auxilary-functions.c 
    $(CC) $(CFLAGS) -c auxilary-functions.c 

run: 
    ./exec $(MODE) $(FILENAME) $(DIR) 

मैं कुछ स्थान पर breakpoint सेट किया गया है और उसके बाद करना next प्रपत्र वहाँ लेकिन मैं

Single stepping until exit from function bf_dup_eleminate_read, which has no line number information.

bf_dup_eleminate_readbloom-filter.c में एक समारोह है मिलता है। मुझे समझ में नहीं आ रहा है कि यह क्यों हो रहा है भले ही bloom-filter.c उचित विकल्पों के साथ संकलित किया गया है

उत्तर

5

मुझे कहीं भी -g ध्वज नहीं दिखाई देता है। यह डिबगिंग जानकारी को उत्सर्जित करने के लिए कंपाइलर को सूचित करता है, इसलिए यदि आप जीडीबी आपको लाइन नंबर दिखाने की इच्छा रखते हैं तो आपको इसे संकलन रेखा में जोड़ना होगा।

+0

'ggdb' ध्वज के बारे में क्या –

0

अपने जीडीबी को अपडेट करने का प्रयास करें। हो सकता है कि आपका gcc संस्करण बहुत नया था। मुझे एक ही समस्या मिली और मेरे जीडीबी को अपडेट करने के बाद इसे ठीक कर दिया।

संबंधित मुद्दे