gdb: has no line number information的问题
我的driver makefile 如下:
DEBUG=y
CC = gcc
# Add your debugging flag (or not) to CFLAGS
ifeq ($(DEBUG),y)
DEBFLAGS = -O -g # "-O" is needed to expand inlines
else
DEBFLAGS = -O2
endif
ccflags-y += $(DEBFLAGS)
ccflags-y += -I$(LDDINC)
ifneq ($(KERNELRELEASE),)
# call from kernel build system
df-objs := mod.o chr_dev.o
obj-m := df.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) LDDINC=$(PWD)/../include modules
endif
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
depend .depend dep:
$(CC) $(CFLAGS) -M *.c > .depend
ifeq (.depend,$(wildcard .depend))
include .depend
endif
看上去应该是加了-g -O
将df.ko上传到server, 并且insmod,获得.text地址
在客户机上开gdb, add-symbol-file /usr/src/kernels/test/my_driver/df.ko 0xffffffffa006f000 一切正常。
设置断点。
当kgdb运行到断点后,bt显示正确,但按n后显示Single stepping until exit from function df_ctldev__ioctl,
which has no line number information.
请问是哪里设置的问题?
谢谢