由於老的程序還在ubuntu12.04上編譯使用,但是12的源已經很難找,故升級系統到ubuntu14.04 32位。
編譯安裝Qt4.8.7,安裝QtCreator2.8.1配置完成後,發現gdb調試無法顯示局部變量和表達式,查找、參照了各種方法,都失敗。最後受到幾篇關於gcc和gdb版本不兼容的文章的啓發(文章:https://www.656463.com/wenda/zubuntu1204swfzqtdsmsxxsblz_430,https://www.thinbug.com/q/19486839),嘗試編譯了gdb10.2,並在QtCreator中設置,發現完美解決。
注意:
ubuntu14.04 32位
系統初始的gcc gdb版本爲:
gcc version 4.8.4
gdb 7.7.1
安裝過程:
1、下載gdb源碼:
gdb源碼下載的路徑https://ftp.gnu.org/gnu/gdb/
選擇:gdb-10.2.tar.gz
2、編譯
tar -zxvf gdb-10.2.tar.gz
cd gdb-10.2/
mkdir build
cd build
../configure
make
注意:需要提前安裝好textinfo,否則make出錯
sudo apt-get install textinfo
注意不要make install,即暫時不要安裝到系統下面。
3、最後qtreator的gdb目錄配置/home/jg/tools/gdb-10.2/build/gdb/gdb即可
參考:
1、Ubuntu16.04升級gdb7.11升級到10.2版本
https://blog.csdn.net/qq_39153421/article/details/116753735
2、Ubuntu18.04升級gdb10.2
https://blog.csdn.net/EJoft/article/details/123036910
3、https://blog.csdn.net/wubw0585/article/details/88061631
4、https://blog.csdn.net/qq_36490086/article/details/85246107
附:
QtCreater調試時提示"ptrace:不允許的操作"的解決方法
1、臨時性的解決方法 $ sudo echo 0 > /proc/sys/kernel/yama/ptrace_scope
2、最終方法: $ sudo vi /etc/sysctl.d/10-ptrace.conf
找到下面這一行:(一般在文件最後一行)
kernel.yama.ptrace_scope = 1
修改如下:
kernel.yama.ptrace_scope = 0
最後重啓電腦即可。