2013-02-21 8 views
0

При отладке uboot последовательность шагов не является непрерывной. , когда я делаю следующее (n) в подсказке gdb, он переходит к другой неожиданной строке. Я монтирую NFS на цель и отлаживаю. Просьба уточнить.Отладка uboot

Спасибо, Сурья

ответ

2

Это происходит потому, что обычно бинарная U-Boot производства GCC был оптимизирован для размера (потреблять меньше дискового пространства). Вы можете построить двоичный файл U-Boot без оптимизации для более легкой отладки. Взгляните на Makefile U-Boot и удалите все флаги оптимизации. Информацию об флажках оптимизации можно найти here.

Шаг отладки также не очень хорошо работает с макросами и встроенными функциями, поскольку на самом деле код не размещен там, где они определены.

1

@ ответ microMolvi является правильным, вы можете vim Makefile на верхней директории источника UBoot и найти CFLAGS заменить -O2 (это O не 0) от -O0, то это нормально, чтобы шаг за шагом.

Кстати, возможно, лучше использовать s (шаг) в GDB.

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