Я пишу ядро, которое скомпилировано как P IE. После загрузки ядро преобразуется в 64-битный файл памяти, в частности, страница NULL перемещается в 0x1FFFF << 0x2F
, а затем переходит туда, однако при этом GDB теряет код, сопровождающий сборку. Я теряю возможность устанавливать точки останова (при этом запускается моя точка прерывания ISR вместо GDB), и я вынужден выполнять одну инструкцию за раз через мой C, и в GDB отображается только сборка. Есть ли способ, которым я могу изменить базовый адрес моего исполняемого файла ядра в GDB во время выполнения. Я подключаюсь к серверу QEMU GDB для отладки.