在qt creator中使用gdb + gdbserver 在線調試hi3516 查看變量時出現 no such value 的問題


程序編譯時開啟了優化選項,那么在用GDB調試被優化過的程序時,可能會發生某些變量不能訪問,或是取值錯誤碼的情況。這個

是很正常的,因為優化程序會刪改程序,整理程序的語句順序,剔除一些無意義的變量等,所以在GDB調試這種程序時,運行時的指令和你所編寫指令就有
不一樣,也就會出現你所想象不到的結果。對付這種情況時,需要在編譯程序時關閉編譯優化。

解決方案:

在編譯時加上 ‘-gstabs+’  編譯選項,比如:

g++ -g -Wall  -gstabs+ -o main.o main.cpp


免責聲明!

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



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