GCC:符号已加载,但函数名称为“??”

时间:2014-11-05 16:04:59

标签: c debugging gcc gdb qemu

我正在使用gcc -g为C文件编译玩具操作系统,nasm -g用于asm文件,并ld将所有内容整合在一起。

我使用qemu -s运行它,然后使用gdb启动-x

file build/kernel.elf
target remote localhost:1234

检查文件中的符号显示功能及其名称:

$ nm -g build/kernel.elf
00101000 D framebuffer
0010001d T kstart
00100010 T loader
00103000 B NULL

如果我设置了一个命名断点(例如break kstart),gdb会随之而来,但实际上它会断开:

0x000fd29f in ?? ()
Breakpoint 1 at 0x10001d: file src/kernel.c, line 19.
(gdb) bt
#0  0x000fd29f in ?? ()
#1  0x90669066 in ?? ()
#2  0x00000000 in ?? ()

功能名称不再存在了吗?我做错了什么?

0 个答案:

没有答案