当我们在使用gdbserver远程调试的时候,输入file指令会报
No executable file now.
No symbol file now.
的问题,究其原因主要有三点。
1.file 后面没有添加文件名,调试程序需要在gdb端加载,所以需要在gdb(pc端)拷贝并在 file命令后加入程序名称,例如要调试test_debug程序,需要输入 file test_debug命令。
2.gdbserver与gdb版本不一致,需要重新编译生成与gdb版本一致的高蛋白server。
3.Makefile文件错误。
objects = disk.o super.o inode.o namei.o open.o main.o
CFLAGS = -g -Wall -O2
test : $(objects)
disk.o : fs.h disk.h disk.c
namei.o : fs.h namei.c
open.o : fs.h open.c
super.o : fs.h super.c
inode.o : fs.h inode.c
main.o : fs.h disk.h sched.h main.c