2015-02-05 4 views
1

Я отлаживаю ядро ​​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

Я сделал некоторые исследования на такого рода ошибки, и кажется, что проблема возникает из динамических библиотек. Но в моем случае нет динамической библиотеки. Итак, что может вызвать такую ​​проблему и как ее исправить?

ответ

1

Проблема возникает из-за того, что я построил кросс-компилятор, который, я думаю, может быть немного ошибкой. Поскольку я изменил компилятор, ddd теперь работает отлично.

 Смежные вопросы

  • Нет связанных вопросов^_^