Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 使用gdb调试多个文件_C_Debugging_Gdb - Fatal编程技术网

C 使用gdb调试多个文件

C 使用gdb调试多个文件,c,debugging,gdb,C,Debugging,Gdb,我有一个项目,我正在工作,它有多个文件,我用make编译项目。这是生成文件 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

我有一个项目,我正在工作,它有多个文件,我用make编译项目。这是生成文件

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) $(FLAGS) $(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)
现在,为了调试程序,我使用gdb,按时间顺序运行以下命令:

gdb./exec

运行2 database.info./bloom


现在,如果我尝试在main.c文件中添加断点,效果很好。但是当我尝试
中断bloomfilter.c:340
时,我得到了错误
没有名为bloomfilter.c的源文件。如何在源文件中添加断点,而不是
main.c

目标
bloomfilter.o
Makefile
中存在键入错误。您提到编译标志是
$(标志)
,而不是
$(CFLAGS)
,因为
bloom filter.o
没有启用调试标志,这很可能是您出现错误的原因。尝试将
$(标志)
更改为
$(CFLAGS)
并检查。
希望这有帮助