手动编译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
相关推荐
故事还在继续吗1 天前
常见的导致 coredump 的原因
开发语言·gdb
C咖咖5 天前
Linux 下使用 GDB 调试 C++ 的全面总结
linux·gdb·调试
lightqjx13 天前
【Linux】Linux工具(yum、vim、gcc/g++、make/makefile、gdb)的详细介绍
linux·vim·gdb·yum·gcc/g++·linux工具·make/makefile
爱凤的小光14 天前
GDB调试技巧与指令完全指南---个人学习篇
shell·gdb
kali-Myon1 个月前
CTFshow-Pwn142-Off-by-One(堆块重叠)
c语言·数据结构·安全·gdb·pwn·ctf·
花花少年1 个月前
在嵌入式设备中快速体验gdb调试
gdb
Qt程序员1 个月前
深入理解:GDB调试器的工作原理
linux·c++·gdb·调试器
十年编程老舅2 个月前
Linux GDB 调试超详细教程:入门 + 实战
linux·c++·gdb
Lucis__2 个月前
版本控制器git及gdb调试技巧深度剖析
git·gdb·开发工具
彭泽布衣3 个月前
gdb调试方法总结
linux·c语言·gdb·故障排查·段错误