Я пытаюсь эмулировать ядро linux ядро cavia octeon mips64 на Qemu. В настоящее время у меня есть некоторые проблемы с кодом инициализации режима использования и вы хотите отлаживать init.i, я запускаю Qemu с использованием опции -s -S в командной строке и запуска GDB с помощью командыОтладка init на Qemu с помощью gdb
ДДД --debugger/OCTEON-SDK/инструменты/бен/MIPS64-octeon-Linux-гну-GDB /OCTEON-SDK/linux/kernel_2.6/linux/ vmlinux
, а затем прикрепления GDB с помощью команды
целевой удаленный локальный: 1234
В настоящее время gdb отображает только инструкции, выполняемые в пространстве ядра.
Что я хочу спросить, есть ли какой-либо метод, с помощью которого я могу отлаживать инструкции инициализации и библиотеки usmode шаг за шагом, как в случае пространства ядра? Например, если printf выдается из init, тогда я хочу видеть, какие инструкции выполняются в библиотеках и как элемент управления возвращается в ядро?
Это будет зависеть, если поддержка gdb для MIPS может обрабатывать переход между ядром и пользовательским пространством. Попробуйте поставить точку останова на resume_userspace в ядре и на один шаг оттуда и посмотреть, выполняется ли переход. – stsquad