如何在IAR中通過Watch視窗觀察區域性變數的值

2021-07-09 13:22:43 字數 1074 閱讀 5223

最近在用430開發一款產品,在軟體除錯的時候發現watch視窗中無法觀察區域性變數的值,總是顯示,下面通過乙個簡答的例子說明一下現象:

#include "

msp430g2553.h"/*

global variable

*/unsigned

char

receiveglobal;

unsigned

char addxy(unsigned char x,unsigned char

y)void

main()

在while(1)處設一斷點,在debug模式下通過watch視窗觀察變數:

現在回過頭去看iar中的"options — c/c++ compiler — 

optimization

[ˌɔptimaiˈzeiʃən]

—level

" 選項:

level的預設值為low,當我把level選為none之後,即不執行任何優化時,全域性變數、靜態區域性變數、區域性變數的值都可以看到,如下圖所示。

當我把優化等級選為midium或者high之後,全域性變數、靜態區域性變數、區域性變數的值都不可見了。

結論:要想觀察區域性變數的值,除錯的時候可以把優化等級設為none.

堆疊(stack)——由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。

靜態儲存區(static)—— 全域性變數和靜態變數的儲存是放在一塊的。初始化的全域性變數和靜態變數在一塊區域;未初始化的全域性變數和靜態變數在相鄰的另一塊區域。程式結束後由系統釋放。 

如何在IAR中通過Watch視窗觀察區域性變數的值

最近在用430開發一款產品,在軟體除錯的時候發現watch視窗中無法觀察區域性變數的值,總是顯示,下面通過乙個簡答的例子說明一下現象 include msp430g2553.h global variable unsigned char receiveglobal unsigned char add...

IAR 中如何呼叫EmEditor

iar 中如何呼叫emeditor 文字編輯器我一直都用emeditor,並設定如下 type command line editor emedit執行檔案所在的目錄 arguments file path 設定好後在iar中雙擊左側project中的程式檔案時,該檔案將被開啟在emeditor視窗...

如何在DataFrame中通過索引高效獲取資料?

今天是pandas資料處理專題的第四篇文章,我們一起來聊聊dataframe中的索引。資料對齊 我們可以計算兩個dataframe的加和,pandas會自動將這兩個dataframe進行資料對齊,如果對不上的資料會被置為nan not a number 首先我們來建立兩個dataframe impo...