手动编译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
相关推荐
岚天start16 天前
Linux内核coredump分析方案
linux·运维·服务器·gdb·coredump·堆栈·内存快照
安全二次方security²16 天前
CUDA-GDB(11)——调试示例演练
gdb·nvidia·cuda·调试·cuda-gdb·autostep·mpi cuda
子牙老师22 天前
从零手写gdb调试器
c语言·linux内核·gdb·调试器
kali-Myon23 天前
NewStarCTF2025-Week2-Pwn
算法·安全·gdb·pwn·ctf·栈溢出
意法半导体STM322 个月前
基于 STM32N6-AI Image Classification 使用 git bash 命令行示例 LAT1552
人工智能·git·stm32·ai·gdb·stm32n6·stedgeai
Zenexus3 个月前
VSCODE+GDB+QEMU调试内核
linux·vscode·qemu·gdb
鹅毛在路上了4 个月前
CMake-gdb调试,解决LLVM ERROR: out of memory
c++·gdb·llvm
2401_858286114 个月前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb
漫步企鹅7 个月前
【GDB】调试程序的基本命令和用法(Qt程序为例)
开发语言·qt·gdb·调试
Golinie9 个月前
【C++高并发服务器WebServer】-1:Linux中父子进程fork创建及关系、GDB多进程调试
linux·c++·gdb·fork·webserver·高并发服务器