Я очень плохо знаком с языком C, и мне было поручено изменить GRUB. Какой способ учиться, верно? Во всяком случае, я пытаюсь отладить мой модифицированный GRUB, используя VMWare и GDB. Я был в состоянии заставить работать отладчик раньше, но по какой-то причине, каждый раз, когда я загружаю свою виртуальную машину и подключаю GDB, в процессе загрузки GRUB я получаю:
.loadsym.gdb:1: Error in sourced command file:
The address where biosdisk.module has been loaded is missing
, и у меня есть понятия не имею, что с этим делать. Моей первой мыслью было: «О, я просто add-symbol-file <file>
и это все исправлю!» но, видимо, это говорит GDB забыть все другие символы, которые он загружал ???? Так что я не могу добавить файл символов и установить точку останова.
Мой поиск в Google возвращает только один полуотносительный пост , который на самом деле не go все это углубленно устранение проблемы.
Этот вывод также может иметь значение.
info file biosdisk.module
Symbols from "H:\Workspace\GRUB\Bootloader\Trunk\grub-core\kernel.exec".
Remote serial target in gdb-specific protocol:
Debugging a target over a serial line.
While running this, GDB does not access memory from...
Local exec file:
`H:\Workspace\GRUB\Bootloader\Trunk\grub-core\kernel.exec', file type elf32-i386.
Entry point: 0x9000
0x00009000 - 0x0000e6e0 is .text
0x0000e6e0 - 0x0000f68d is .rodata
0x0000f6a0 - 0x0000fe74 is .data
0x0000fe80 - 0x000175d4 is .bss