gdb编译教程(支持linux下X86和ARM架构)

1、下载源码
http://ftp.gnu.org/gnu/gdb/
在这里插入图片描述
我下载的8.2版本。
2、下载完后拷贝到linux的x86系统。
在这里插入图片描述
3、解压,然后进入到目录下,打开当前目录的命令行窗口。
在这里插入图片描述
4、创建一个生成目录。

在这里插入图片描述
5、我们先开始x86版本,这个比较简单,不需要配置交叉编译工具(当然前提是系统装了gcc和g++的环境啊)。
构建

 ./configure --prefix=/home/yjd/gdb_build/x86

在这里插入图片描述
编译

sudo make -j8

在这里插入图片描述
生成

sudo make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

生成完成。查看版本。
在这里插入图片描述
6、现在我们来编译ARM版本
先清理下编译x86残留下的临时文件。

sudo make clean
sudo make distclean

开始构建:

#运行平台
--host=aarch64-linux         
#目标平台名称
--target=aarch64-linux
#你想使的C编译器的绝对路径
CC=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-gcc
#你想使的C++编译器的绝对路径
CXX=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-g++
#你想使的链接器的绝对路径
LD=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-ld
#ar的绝对路径,用作与于创建静态库使
AR=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-ar
#配置安装的路径
--prefix=/home/yjd/gdb_build/arm

以上这些配置都是要跟在./configure后面的。如下:

./configure --host=aarch64-linux --target=aarch64-linux CC=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-gcc CXX=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-g++ LD=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-ld AR=/home/forlinx/OK3399/OK3399-linux-release/host/bin/aarch64-linux-ar --prefix=/home/yjd/gdb_build/arm

在这里插入图片描述

sudo make -j8

在这里插入图片描述

sudo make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将gdb文件拷贝到对应平台下,即可使用。(或者使用gdbserver远程调试)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/470499.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10款翻译工具实践体验感受与解析!!!!!

在现今的数字化时代,翻译工具如同语言的桥梁,为我们打开了通向世界的大门。今天咱们不聊别的,就聊聊那些让我又爱不释手的翻译工具们。因为我的职业因素,作为一个经常需要跟各种语言打交道的“文字搬运工”,这些工具可…

【日志】392.判断子序列

2024.11.8 【力扣刷题】 392. 判断子序列 - 力扣(LeetCode)https://leetcode.cn/problems/is-subsequence/?envTypestudy-plan-v2&envIdtop-interview-150 整个题从一开始就是打算从双指针的思想往下走的。但是,我设置了四个变量sLeft…

C++20 中最优雅的那个小特性 - Ranges

C20 中最优雅的那个小特性 - Ranges 大家好,今天我们来聊聊 C20 的一项非常重要的新特性——Ranges,可以让你的代码更优雅、更高效、更炫酷,如果你是一个对代码有所追求的小伙伴,那么这个特性你绝对值得拥有! 啥是 …

Python多进程间通讯(包含共享内存方式)

文章目录 1 通过非共享内存配合队列方式2 通过共享内存配合队列方式 注:本博文测试环境为Linux系统。 1 通过非共享内存配合队列方式 下面是一个常见的生产者与消费者的模式示例,这里分别启动了两个子进程,一个为生产者(producer…

深入理解接口测试:实用指南与最佳实践5.0(一)

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

2024.11.12_大数据的诞生以及解决的问题

大数据的诞生以及解决的问题 视频一:大数据诞生的背景原因:传统的数据处理架构无法满足海量的数据存储和计算需求 视频三:区分离线处理场景和实时处理场景视频五:传统的大数据与现代的大数据区别(离线场景)…

ML 系列: 第 24 节 — 离散概率分布(泊松分布)

目录 一、说明 二、固定时间间隔示例 三、固定间隔的示例 四、泊松分布的主要特征 五、示例 5.1 平均客户数的计算: 5.2 用于计算和绘制泊松分布的 Python 代码: 一、说明 泊松概率分布是一种离散概率分布,它表示在固定的时间或空间间隔内发生…

闯关leetcode——3174. Clear Digits

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/clear-digits/description/ 内容 You are given a string s. Your task is to remove all digits by doing this operation repeatedly: Delete the first digit and the closest non-digit cha…

机器情绪及抑郁症算法

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月12日17点02分 点击开启你的论文编程之旅https://www.aspiringcode.com/content?id17230869054974 计算机来理解你的情绪&a…

【深圳大学】数据结构A+攻略(计软版)

1. 考试 1.1 形式 分为平时,笔试,机试三部分。其中: 平时占30%,包含平时OJ测验和课堂练习,注意这个可能会因老师的不同和课题组的新策略而改变。笔试占60%,是分值占比的主要部分。机试占10%。 1.2 题型…

Chrome使用IE内核

Chrome使用IE内核 1.下载扩展程序IE Tab 2.将下载好的IE Tab扩展程序拖拽到扩展程序界面,之后重启chrome浏览器即可

使用pytest+openpyxl做接口自动化遇到的问题

最近使用pytestopenpyxl做了个接口自动化的小项目,遇到了一些问题。 首先,使用pytest这个框架,主要是使用了pytest.fixture, pytest.mark.parametrize这两个fixture去做参数化,里面注入的数据是用openpyxl来实现的。 接口介绍&a…

IEC60870-5-104 协议源码架构详细分析

IEC60870-5-104 协议源码架构 前言一、资源三、目录层级一二、目录层级二config/lib60870_config.hdependencies/READMEexamplesCMakeLists.txtcs101_master_balancedcs104_client_asyncmulti_client_servertls_clienttls_server说明 make这些文件的作用是否需要导入这些文件&a…

TensorRT基础知识

github:https://github.com/NVIDIA/TensorRT 官网快速入门链接:Quick Start Guide :: NVIDIA Deep Learning TensorRT Documentation 引言: TensorRT 是 NVIDIA 推出的一个高性能深度学习推理库,专门用于优化和加速已经训练好的深度学习模型…

jenkins提交gitee后自动部署

jenkins中安装gitee插件 Gitee Plugin​​​​​​ 配置gitee WebHook 生成giteeHook密码 去gitee中配置webHook 输入jenkins中的url和生成的密码 当我们再提交后就可以自动部署 gitee官方配置

软件测试面试八股文(超详细整理)

请你说一说测试用例的边界 参考回答: 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。 常见的边界值 1)对16-bit 的整数而言 32…

【金融风控】特征评估与筛选详解

内容介绍 掌握单特征分析的衡量指标 知道 IV,PSI等指标含义 知道多特征筛选的常用方法 掌握Boruta,VIF,RFE,L1等特征筛选的使用方法 【理解】单特征分析 什么是好特征 从几个角度衡量:覆盖度,区分度,相关性,稳定…

链游系统定制化开发:引领游戏产业的新时代

在数字革命的浪潮中,链游(区块链游戏)作为一种新兴游戏形式,正重新定义游戏产业的发展方向。链游将区块链技术与传统游戏结合,使游戏体验更加公平透明,并赋予玩家真正的资产所有权。这一领域不仅为玩家带来…

2024 年 8 个最佳 API 设计工具图文介绍

8 个最佳 API 设计工具推荐,包括 Apifox、Postman、Swagger、Insomnia、Stoplight、Hoppscotch、RapidAPI和Paw。 详细介绍:2024 年 8 个最佳 API 设计工具推荐

知识库管理系统:企业数字化转型的加速器

在数字化转型的大潮中,知识库管理系统(KBMS)已成为企业提升效率和创新能力的关键工具。本文将探讨知识库管理系统的定义、企业建立知识库的必要性,以及如何快速搭建企业知识库。 知识库管理系统是什么? 知识库管理系统…