MDK keil STM32 局部變量不能查看值,顯示為not in scope




用MDK調試一塊STM32F207的程序,想查看一下變量卻發現watch窗口總是
<not in scope>和<cannot evaluate>,無奈湊合着通過printf函數進行串口打印查看。

1 編譯器把這個局部變量給優化掉了,並沒有在內存中生成,把優化級別改為Level 0,重新編譯。

Keil默認優化是等級3,最高優化,這時就會把一些可有可無的操作優優掉,當然也會把仿真優化,所以只需要把優化調為0,不優化,則沒有有這個問題。


 

 
2 把變量定義為一個全局變量
對局部變量賦值后,要在后面使用該變量,keil里面才會顯示出其狀態
局部變量想看到的話,需要在那個變量那里打一個斷點,之后按一下F10就能看到了....

局部變量想看的話,那個地方加上斷點,同時避免優化問題,最好不要只聲明而不使用,否則也是看不到的。


REF
https://blog.csdn.net/wzk456/article/details/81697839



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM