手动编译GDB
起因在于使用Clang-14编译C++
文件并生成调试信息,使用gdb调试时报DWARF相关错误。经检查原因在于虚拟机为Ubuntu 20.04,使用apt下载时官方提供gdb版本为9.2,不支持DWARF5,而Clang-14生成的调试信息是DWARF5版本的。为解决该问题,手动编译gdb-11.2。
下载gdb
官网下载tar包,并解压。
安装
tui模式支持
- 在执行./configure指定--enable-tui。
- 安装libcurses
shell
sudo apt-get install libncurses5-dev libncursesw5-dev
python脚本支持
- 在执行./configure指定--with-python[=python],它可以是 Python 可执行文件的名称,也可以是 Python 安装目录的名称,例如:/usr/bin/python3.8
- 如果提示找不到python,尝试安装python3.8-dev
shell
sudo apt install python[version]-dev
完整流程
shell
cd gdb-11.2
mkdir build;cd build
../configure --enable-tui --with-python=/usr/bin/python3.8
make
sudo make install