手动编译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
相关推荐
Octopus207715 天前
【linux】gdb
linux·服务器·笔记·学习·gdb
XiaoCCCcCCccCcccC1 个月前
Linux环境下的基础开发工具 -- 包管理器,vim,gcc/g++,make/makefile,git,gdb/cgdb
linux·c语言·gdb
shimly1234562 个月前
(done) gdb 在系统编程中的调试技巧
gdb
yunteng5212 个月前
VisualStudio远程编译调试linux_c++程序(二)
linux·c++·ssh·gdb·visual studio·remote
CYRUS STUDIO2 个月前
详解ARM64可执行程序的生成过程
android·c语言·汇编·c++·gdb·arm64
云中双月2 个月前
如何使用Ida Pro和Core Dump文件定位崩溃位置(Linux下无调试符号的进程专享)
linux·嵌入式·gdb·调试·gcc·崩溃·ida pro·ulimit·core dump·cross compile
zkk95272 个月前
C++调试方法(Vscode)(一) ——本地调试
开发语言·c++·vscode·gdb·调试
zkk95272 个月前
C++调试方法(Vscode)(二) ——本地调试(ROS版)
开发语言·c++·vscode·gdb·调试
Jouzzy3 个月前
【Android安全】Ubuntu 16.04安装GDB和GEF
android·ubuntu·gdb
捕鲸叉3 个月前
GDB快捷键问答之01 源代码操作
gdb