1
我開發了一個GCC C可執行項目與Atmel Studio 6。目標設備是ATtiny2313A。有一個C文件和其他頭文件。avr-gcc:沒有符號位於任何調用堆棧幀
當我設置優化大小時,我無法調試解決方案,因爲當我進入包含在頭文件中的函數時,調試器顯示錯誤No source available. No symbols are located for any call stack frame. The source code cannot be displayed
。
調試器與所有其他優化類型一起工作正常(-O1
,-O2
,-O3
)。
此外,該軟件在真正的芯片上工作。
我需要知道我的代碼的時間,但我也需要保存閃存空間,因此我不能避免調試優化大小的代碼。
看來問題在於鏈接器無法鏈接代碼的不同部分,因爲某些符號被遺漏。 我怎樣才能讓它使用所有必要的符號?
不確定'-Os'是否會覆蓋它,但是您可以嘗試在編譯標誌中添加'-fno-omit-frame-pointer'。 – Michael