Я отлаживаю ядро JOS (от mit operating system lab) в qemu с ddd. Я установил точку останова в команде сборки, вызывающую основную функцию ядра i386_init, определенную в init.c. когда я запускаю ядро, ddd (gdb) хорошо разбирается в этой команде с отображенной зеленой стрелкой; но когда я использовал команду stepi, зеленая стрелка исчезает, а ddd не открывает файл, который должен содержать определение i386_init(). Процесс отладки продолжается только с помощью gdb. ddd не выполняет этот процесс. Более того, когда я открыл файл init.c, ддд показывает эту ошибку:ddd green отладка стрелка исчезает при выполнении команды
Line 1 of \"kern/init.c\" is at address 0xf0100040 but contains no code.\n
Я сделал некоторые исследования на такого рода ошибки, и кажется, что проблема возникает из динамических библиотек. Но в моем случае нет динамической библиотеки. Итак, что может вызвать такую проблему и как ее исправить?