Я работаю над написанием ОС и сталкиваюсь с проблемами, пытаясь отладить мой код. Я использую GDB для подключения к заглушке Bochs GDB для «удаленной» отладки моего ядра. Подключение работает нормально, как и загрузка отладочных символов из файла ядра. Я установил точку останова для функции kmain, которая успешно расположена, и отладчик работает корректно (внутри моего ядра). Тем не менее, я не могу «шагнуть» или «дальше» через мой код, и при этом GDB явно не может определить, какая строка кода является текущей строкой.
Когда я пытаюсь «шагнуть», я получаю следующее сообщение: «Не удается найти границы текущей функции». Это единственное сообщение об ошибке, которое я получаю в любой момент.
Мой код компилируется в GCC с флагом -g (я пробовал другие типы отладочной информации, используя опции GCC; ни один не работал.) Я попытался просмотреть руководство по GDB, а также найти ответ и я в полном недоумении. Любая помощь будет потрясающей.
Спасибо!