Gdb 如何从uImage(arm)中提取内核符号?

Gdb 如何从uImage(arm)中提取内核符号?,gdb,kernel,arm,system-calls,u-boot,Gdb,Kernel,Arm,System Calls,U Boot,我想从u-boot映像中提取内核符号 最终目标是使用gdb 内核是用CONFIG\u DEBUG\u INFO=y编译的,gcc使用-g选项(我选中) 在制作uImage之后,我: # file arch/arm/boot/* arch/arm/boot/bootp: directory arch/arm/boot/compressed: directory arch/arm/boot/Image: data arch/arm/boot/ins

我想从u-boot映像中提取内核符号

最终目标是使用gdb


内核是用
CONFIG\u DEBUG\u INFO=y
编译的,gcc使用-g选项(我选中)

制作uImage
之后,我:

# file arch/arm/boot/*
arch/arm/boot/bootp:           directory
arch/arm/boot/compressed:      directory
arch/arm/boot/Image:           data
arch/arm/boot/install.sh:      POSIX shell script text executable
arch/arm/boot/Makefile:        ASCII English text
arch/arm/boot/uImage:          u-boot legacy uImage, Linux-3.0.6, Linux/ARM, OS Kernel Image (Not compressed), 3044476 bytes, Thu Mar 22 18:13:40 2012, Load Address: 0x00008000, Entry Point: 0x00008000, Header CRC: 0xF689B805, Data CRC: 0x6BFE76DF
arch/arm/boot/zImage:          data
gdb无法直接加载uImage


我试过这个剧本


kernel.img不可由gdb加载Do
makevmlinux
。我相信GDB可以读懂这一点,但自从我尝试以来,这是一段很长的时间,而且有很多内核版本


编辑:哦,我应该说,vmlinux和uImage应该是相同的,但包装不同。如果不是这样的话,那么这将不起作用。

我知道由于gdbserver出现了一个新问题,但是内核符号已正确加载,谢谢。
# file arch/arm/boot/zImage_unpacked/*
arch/arm/boot/zImage_unpacked/decompression_code:     data
arch/arm/boot/zImage_unpacked/initramfs.cpio+part3:   data
arch/arm/boot/zImage_unpacked/kernel.img:             data
arch/arm/boot/zImage_unpacked/padding_piggy:          data
arch/arm/boot/zImage_unpacked/piggy:                  data
arch/arm/boot/zImage_unpacked/piggy.gz:               gzip compressed data, from Unix, max compression
arch/arm/boot/zImage_unpacked/piggy.gz+piggy_trailer: gzip compressed data, from Unix, max compression
arch/arm/boot/zImage_unpacked/piggy_trailer:          data
arch/arm/boot/zImage_unpacked/sizes:                  ASCII text