• slider image 258
  • slider image 259
  • slider image 260
  • slider image 261
  • slider image 262
:::


Browsing this Thread:   1 Anonymous Users






Mplab X IDE Watch 中如何在Debug模式中看到區域變數
#1
新會員
新會員


查看用戶資訊
想請教一下,若今天於Debug模式中,中斷下在副程式裡面,在副程式中有宣告區域變數,想問一下該如何才能看到區域變數裡面的值呢?

目前看到的值都不是正確的,只有將該變數設為全域變數,值才是正確的

發表於: 6/8 11:00
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Mplab X IDE Watch 中如何在Debug模式中看到區域變數
#2
版主
版主


查看用戶資訊
函數裡的區域變數必須在執行該函數時才會生效,所以要看區域變數的職並須利用斷點停在該函數裡才能看到。

為了除錯方便,建議還是使用全域變數的設定。

發表於: 6/8 13:30
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Mplab X IDE Watch 中如何在Debug模式中看到區域變數
#3
新會員
新會員


查看用戶資訊
這邊我是在副程式裡面定的區域變數,中斷點也是下在副程式裡面,也使用一個全域變數來做比對,但值就是在區域變數看是錯。

https://imgur.com/Gy6c061

上圖的EEPROM_CRC16是區域變數,reg_crc是全域變數

EEPROM_CRC16(區域變數)是透過過CRC_CHECK副程式把值Return回來,而reg_crc(全域變數)為CRC_CHECK副程式裡面Return的數值。

這邊用Watch來看是確實不一樣的,剛剛我想說,那我來看看他在if裡面是成立或者不成立,可以判斷說到底是Watch只是顯示錯了,還是本身就不一樣。

結果中斷下在11行跟19行都沒有停住,卻是停在第21行

請問這邊是我使用上有問題嗎?還是MPLAB X IDE本身就有問題?

這邊檢查過優化等級是0,可以確定不是優化造成的問題

發表於: 6/12 11:37
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Mplab X IDE Watch 中如何在Debug模式中看到區域變數
#4
版主
版主


查看用戶資訊
1. 變數值不相同? 可否在區域變數加上 static 靜態變數的宣告在看看。

2. PIC 程式的執行式 Pipeline 的架構,所以 PC 值會比實際執行的程式快取一個指令造成斷點換停在下一行的問題。這無法改變只能去了解程式的執行的下一步。

發表於: 6/12 11:57

Edited by Ryang on 2020年06月17日 10:58:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Mplab X IDE Watch 中如何在Debug模式中看到區域變數
#5
高級會員
高級會員


查看用戶資訊
如果是怕跳行,加幾個NOP應該就行啦

發表於: 6/17 9:01
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You can attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://edm.microchip.com.hk/webapp/opt-in/website/tc/form.htm
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

課程 - 台北教育訓練中心
課程 - 新竹教育訓練中心
課程 - 高雄教育訓練中心
教育訓練中心介紹
購買 - 實驗工具
臺灣實驗板介紹與資源