1. 程式人生 > >keil mdk除錯過程中檢視區域性變數的方法

keil mdk除錯過程中檢視區域性變數的方法

      上次除錯STM32做了一次總結,此次在除錯nordic 51822時發現區域性變數地址給不出任何資訊,

導致無法檢視區域性變數值。通過和STM32的設定進行必較發現C/C++的編譯器等級設定過高,而將

一些區域性變數優化掉而沒有分配記憶體地址。

      如下圖所示,將optimzation優化等級從3等級降低到0等級後

      

後再檢視區域性變數p_addr,此值會自動出來。

       

等級0會為所有變數分配記憶體地址,這樣便於程式開發除錯。缺點是佔用較大程式空間。

等級3會為優化掉區域性變數,不會為其分配記憶體地址。這樣不便於程式開發除錯。好處是佔用較小程式空間。