gdb:无法设置断点:“没有加载符号表。使用“file”命令。“
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gdb:无法设置断点:“没有加载符号表。使用“file”命令。“相关的知识,希望对你有一定的参考价值。
使用gdb时,即使我使用file
命令,也无法设置任何断点:
(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)
并重新重建。
以上是关于gdb:无法设置断点:“没有加载符号表。使用“file”命令。“的主要内容,如果未能解决你的问题,请参考以下文章