Gcc gdb:无法设置断点:";未加载任何符号表。使用「;文件";命令。”;

Gcc gdb:无法设置断点:";未加载任何符号表。使用「;文件";命令。”;,gcc,gdb,Gcc,Gdb,使用gdb时,即使使用文件命令,也无法设置任何断点: (gdb) file crab_spectrum Load new symbol table from "crab_spectrum"? (y or n) y Reading symbols from crab_spectrum...(no debugging symbols found)...done. (gdb) b file crab_spectrum.c:45 No source file nam

使用gdb时,即使使用
文件
命令,也无法设置任何断点:

   (gdb) file crab_spectrum
    Load new symbol table from "crab_spectrum"? (y or n) y
    Reading symbols from crab_spectrum...(no debugging symbols found)...done.
    (gdb) b file crab_spectrum.c:45
    No source file named file crab_spectrum.c.
    Make breakpoint pending on future shared library load? (y or [n]) y
    Breakpoint 3 (file crab_spectrum.c:45) pending.
当我运行代码时,它不会在断点处停止。我正在使用以下Makefile进行编译:

CC =  gcc
LD = gcc
LIBGSL = -L/home/martin/gsl/gsl-2.4/lib -lgsl -lgslcblas -lm
CFLAGSRELEASE = -O -Wall -I/home/dirsonlu/gsl/gsl-2.4/include
LFLAGSRELEASE = -lm -Wl,--rpath -Wl,/usr/local/lib $(LIBGSL)
CFLAGSDEBUG = -g -p  -Wall
LFLAGSDEBUG = -lm 
CFLAGSDEBUG = -g -p  -Wall -W    # -DDEBUG_OUTPUT
LFLAGSDEBUG =  -lm -p -Wl,--rpath -Wl,/usr/local/lib $(LIBGSL) 

LIBS= -L/home/dupont/folder/soft/pgplot -lm -lcpgplot /home/dupont/folder/soft/pgplot/libpgplot.a  -L/usr/X11R6/lib -lX11

CFLAGS = $(CFLAGSRELEASE)
LFLAGS = $(LFLAGSRELEASE)

OBJECTS = \
    crab_spectrum.o initialize.o nel.o sync.o table_fonction.o table_bessel.o ic_lud.o calc_crab_lud.o create_table.o
    #crab_spectrum.o initialize.o nel.o sync.o  ic.o calc_crab_dens.o create_table.o




FIT_IT_OBJECTS = \
    fit_it.o create_table.o initialize.o nel.o sync.o table_bessel.o

FIT_IT_DATA_OBJECTS = \
    fit_it_data.o create_table.o initialize.o nel.o sync.o table_bessel.o   calc_crab_dens.o  ic.o 

FIT_IT_SCALE_OBJECTS = \
    fit_it_scale.o create_table.o initialize.o nel.o sync.o table_bessel.o   calc_crab_manu.o  ic_manu.o 

PRG = crab_spectrum 
crab_spectrum: $(OBJECTS)
    $(LD) $(OBJECTS) $(LFLAGS) -o $(PRG)


clean:
    rm -f *.o $(PRG) $(FIT_IT)
有人知道我能做什么吗

有人知道我能做什么吗

用于编译的实际命令是什么?您是如何调用
make

机会是,
rm*.o;make
产生如下结果:

gcc -O -Wall ...
在这种情况下,您希望更改此选项:

CFLAGS = $(CFLAGSRELEASE)
LFLAGS = $(LFLAGSRELEASE)
为此:

CFLAGS = $(CFLAGSDEBUG)
LFLAGS = $(LFLAGSDEBUG)

然后再次重建。

我使用“make file.exec”@ludmi,这几乎是无用的信息。它运行的是什么GCC命令?我知道,但当时我不理解这个问题。我编辑所有的Makefile。