2012-06-29 31 views
5

Tôi có một dự án mà tôi đang làm việc và nó có nhiều tệp và tôi sử dụng để biên dịch dự án. Đây là makefileBước đơn cho đến khi thoát khỏi hàm 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) 

tôi đặt breakpoint tại một số vị trí và sau đó làm next hình thức đó nhưng tôi nhận được

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

bf_dup_eleminate_read là một chức năng trong bloom-filter.c. Tôi không thể hiểu tại sao điều này xảy ra ngay cả khi bloom-filter.c được biên dịch với các tùy chọn thích hợp

Trả lời

5

Tôi không thấy bất kỳ nơi nào cờ -g. Nó thông báo cho trình biên dịch phát ra thông tin gỡ lỗi, vì vậy bạn cần thêm nó vào dòng biên dịch, nếu bạn muốn gdb hiển thị cho bạn số dòng.

+0

điều gì về cờ 'ggdb' –

0

Hãy thử cập nhật gdb của bạn. Có thể là phiên bản gcc của bạn quá mới. Tôi đã nhận được cùng một vấn đề và sửa nó sau khi cập nhật gdb của tôi.

Các vấn đề liên quan