由于老的程序还在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
最后重启电脑即可。