ubuntu20.04升级ubuntu22.04后,发现之前可以正常debug的C++程序无法调试,只要遇到多线程就段错误。
程序没有改动,怀疑是GDB出现问题,于是将GDB升级到最新版本解决此问题。
# 先安装依赖库
sudo apt-get install libgmp-dev;
# 在官网下载 GDB 12.1
# https://www.sourceware.org/gdb/
wget http://ftp.gnu.org/gnu/gdb/gdb-12.1.tar.gz;
tar -xvzf gdb-12.1.tar.gz;
cd gdb-12.1;
./configure;
make -j4;
sudo make install;
# 假如有需要可以将GDB添加sudo权限
sudo vim /etc/sudoers
<user> ALL=NOPASSWD:/usr/local/bin/gdb