在msm 7627平台上遇到一個問題,需要在lk(little kernel)中進行debug,由於這裡無法輸出調試log信息,並且使用串口輸出log的功能也沒有實現,故而只能使用trace32跟蹤代碼流程,在跟蹤一些c語言變量的時候,無法查看其在內存中的實際值(只能顯示出?),只好跟到匯編級別;然而,c語言在編譯時候經過了編譯器的優化,匯編的邏輯跳轉變得十分沒有規律,無法確定其邏輯;這個時候,可以在需要查看的代碼的前後加上去除編譯優化的語句即可:
#pragma GCC option (push)
#pragma GCC optimize ("O0")
target code...
#progma GCC option (pop)