2013-02-21 70 views
0

在調試uboot時,步驟順序不連續。 當我做下一步(N)在GDB提示它去其他一些意外的行。 我正在做目標和調試的NFS掛載。 請說明。調試uboot

謝謝, 蘇里亞

回答

2

這是因爲通常由GCC產生U-Boot的二進制已經針對大小進行了優化(以消耗更少的存儲空間)。您可以構建U-Boot二進制文件而不進行優化,以便於調試。看一下U-Boot的Makefile並刪除任何優化標誌。 關於優化標誌的信息可以在here找到。

對於宏和內聯函數,步調試也不能很好地工作,因爲代碼實際上並沒有放在定義這些宏的地方。

1

@ microMolvi的答案是正確的,你可以上的uboot源的頂層目錄vim Makefile,並找到CFLAGS替換-O2(這是O不可0)由-O0,那麼它的確定一步一步來。

順便說一下,也許在GDB中使用s(step)會更好。