手动编译GDB

手动编译GDB

起因在于使用Clang-14编译C++文件并生成调试信息,使用gdb调试时报DWARF相关错误。经检查原因在于虚拟机为Ubuntu 20.04,使用apt下载时官方提供gdb版本为9.2,不支持DWARF5,而Clang-14生成的调试信息是DWARF5版本的。为解决该问题,手动编译gdb-11.2。

下载gdb

官网下载tar包,并解压。

安装

配置参数

tui模式支持

  1. 在执行./configure指定--enable-tui。
  2. 安装libcurses
shell 复制代码
sudo apt-get install libncurses5-dev libncursesw5-dev

python脚本支持

  1. 在执行./configure指定--with-python=python,它可以是 Python 可执行文件的名称,也可以是 Python 安装目录的名称,例如:/usr/bin/python3.8
  2. 如果提示找不到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
相关推荐
Zevalin爱灰灰14 天前
JTAG/SWD是什么
gdb·调试
ttkwzyttk1 个月前
GDB TUI窗口管理
gdb
ttkwzyttk1 个月前
GDB观察点与捕获点使用
gdb
ttkwzyttk1 个月前
GDB函数调用栈管理
gdb
ttkwzyttk1 个月前
GDB调试变量、内存与寄存器查看与修改
gdb
ttkwzyttk1 个月前
GDB调试简介与调试配置
gdb
modelmd2 个月前
GDB 摘要
gdb
源分享2 个月前
GDB下载和安装保姆级教程
gdb
modelmd2 个月前
翻译 GDB 官方文档
gdb
kidwjb2 个月前
一次多进程信号量同步失效的排查实录
gdb·进程通信·信号量