1 原因一
使用gdb前务必加-g选项,否则将出现如下报错:
2 原因二
2.1 问题出现
在添加了-g选项后,使用gdb依然报错,如下所示:
2.2 问题解决
如2.1节图所示,当前gcc版本为11.1.0,而gdb的版本为7.6.1;报错提示表示:当前我添加了-g选项后gcc11.1.0生成的调试信息是dawnfs5,而gdb7.6.1可支持的为dawnfs2、dawnfs3、dawnfs4;因此这其实是编译环境的问题,只需要升级gdb版本即可。
-
随便找一个版本下载即可:
wget http://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.gz
-
安装Texinfo文档系统:
yum install texinfo yum install ncurses-devel
-
解压 + 生成makefile并编译:
tar -zxvf gdb-9.2.tar.gz cd gdb-9.2 mkdir build && cd build # 9.2版本需要新建build ./configure make # 9.2版本无需单独执行make install
-
将新版本gdb添加至环境变量:
vim /etc/profile export PATH=/usr/local/bin:$PATH # 此句在profile中添加 source /etc/profile
-
虽然source过了环境变量,但是最好再重启云服务器,因为我之后再VSCode中开启的所有终端依然执行的是旧版本的gdb。