快轉到主要內容

解決STM32CubeIDE中的「Failed to evaluate expression」錯誤的方法

·316 字·1 分鐘· loading
Habonroof
作者
Habonroof
一位漂流在軟體與硬體之間的邊緣行者,COVID期間被觸發想做技術部落格,目前還是剛出社會的新鮮人,除了工作也希望能在閒暇之餘撰寫教學文章與製作影片。現在正努力豐富網站內容中

本文帶您解決使用STM32Cube IDE時遇到無法自動更新變數的問題,主要是沒把變數定義成全域變數而編譯器抓不到變數位址導致的。解決方法只要把變數定義在main函式之前即可。

A way to solve “failed to evaluate expression” error in STM32CubeIDE

近期接觸STM32處理器,發現要觀察一個變數時選擇"Live Expression"時會出現 “Failed to evaluate expression” 的錯誤。

網路上爬了很多文章似乎都沒有解法,我也特地為此去買一個新的debugger,但後來發現要把變數變成全域變數才能有效觀察到,以下dutyCycle變數放在main()內,會無法模擬,但將i放在main外面就可以正常顯示。

Turn your variable into gloable variable (outside of main program))

除了這個之外,專案的最佳化程度還有除錯器設定也會影響。

在這邊小小紀錄一下