当前位置: 首页 > news >正文

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远程调试)
在这里插入图片描述

相关文章:

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

1、下载源码 http://ftp.gnu.org/gnu/gdb/ 我下载的8.2版本。 2、下载完后拷贝到linux的x86系统。 3、解压,然后进入到目录下,打开当前目录的命令行窗口。 4、创建一个生成目录。 5、我们先开始x86版本,这个比较简单,不需要配置…...

Android 开发指南:初学者入门

Android 是全球最受欢迎的移动操作系统之一,为开发者提供了丰富的工具和资源来创建各种类型的应用程序。本文将为你提供一个全面的入门指南,帮助你从零开始学习 Android 开发。 目录 1. 了解 Android 平台[1]2. 设置开发环境[2]3. 学习基础知识[3]4. 创…...

镭速大文件传输软件向金融银行的文档管理提供高效的解决方案

随着数字化浪潮的推进,金融机构对文档处理和大文件传输的需求日益增长。无论是中央机构还是地方分行,他们都急需一套强大的文档管理系统来应对日益庞大的数据量和日益复杂的业务需求。如何有效地管理海量文档,成为了金融机构面临的一大挑战。…...

D64【python 接口自动化学习】- python基础之数据库

day64 SQL-DQL-基础查询 学习日期:20241110 学习目标:MySQL数据库-- 133 SQL-DQL-基础查询 学习笔记: 基础数据查询 基础数据查询-过滤 总结 基础查询的语法:select 字段列表|* from 表过滤查询的语法:select 字段…...

HTTP 客户端怎么向 Spring Cloud Sleuth 传输跟踪 ID

在 Spring Cloud Sleuth 的请求链路追踪中,X-B3-TraceId 是第二个 ID,X-B3-SpanId 是第三个 ID。以下是 Sleuth 中各个追踪标识的含义: X-B3-TraceId:表示整个请求链路的全局唯一 ID,用于跟踪请求在多个服务间的流转。…...

为什么hbase在大数据领域渐渐消失

HBase 曾是大数据存储领域的标杆之一,凭借其强大的分布式、列式存储和高扩展性,广泛应用于电商、社交网络、金融等需要海量数据管理的场景。然而,近年来 HBase 的使用确实在减少,这主要是因为数据技术栈的演变和用户需求的变化。以下是一些主要原因: 1. 复杂的运维和管理…...

【GPTs】EmojiAI:轻松生成趣味表情翻译

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 💯GPTs指令💯前言💯EmojiAI主要功能适用场景优点缺点 💯小结 💯GPTs指令 中文翻译: 此 GPT 的主要角色是为英文文本提供幽默…...

中国车牌分类

从颜色和单双层分类(不考虑临时车牌) 黄单黄双黄绿单蓝单蓝双绿单绿双黑单黑双白单白双 #特殊文字 挂使港澳学警领临...

边缘计算在工业互联网中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 边缘计算在工业互联网中的应用 边缘计算在工业互联网中的应用 边缘计算在工业互联网中的应用 引言 边缘计算概述 定义与原理 发展…...

C# IEnumerator,IEnumerable ,Iterator

IEnumerator 枚举器接口 在C#语言中,大部分以“I”字母开头命名的都是接口,所以情理之中,IEnumerator也是一个接口。 对于面向对象语言来说,接口就是一份“协议”,它定义了一组方法、属性和事件的契约,任…...

Nginx在Windows上和Linux上(Docker启动)分别配置基本身份认证示例

场景 Nginx代理的资源或网站等,url直接暴露有风险,需要添加身份认证,即输入用户名密码后才能成功访问。 注: 博客:霸道流氓气质-CSDN博客 实现 Windows上配置Nginx实现基本身份认证 修改nginx的配置文件 添加基…...

让SQL更优雅!深入浅出【公用表表达式(CTE)】语法及实战案例

全文目录: 开篇语🌟 前言📜 目录💡 什么是CTE?🎨 CTE的语法与结构💥 使用场景:CTE何时更香?🎬 CTE实战案例案例1:统计每个部门的平均薪资案例2&am…...

快递物流查询API接口如何用PHP调用

在现代商业中,供应链的协同运作至关重要。 快递物流查询API接口可以实现供应商、电商平台、物流企业和消费者之间的信息无缝对接,各方能够及时获取快递物流信息,从而更好地协调生产、销售和配送等环节,提高整个供应链的效率和效益…...

【vue2.0入门】vue基本语法

目录 引言一、页面动态插值1. 一般用法 二、计算属性computed三、动态class、style绑定四、条件渲染与列表渲染五、事件处理六、表单输入绑定七、总结 引言 本系列教程旨在帮助一些零基础的玩家快速上手前端开发。基于我自学的经验会删减部分使用频率不高的内容,并不…...

Dubbo使用Nacos作为注册中心

使用 Nacos 作为注册中心实现自动服务发现 本示例演示 Nacos 作为注册中心实现自动服务发现&#xff0c;示例基于 Spring Boot 应用展开&#xff0c;可在此查看 完整示例代码 1 基本配置 1.1 增加依赖 增加 dubbo、nacos-client 依赖&#xff1a; <dependencies><…...

【面试分享】xshell连接Linux服务器22端口执行命令top期间的技术细节和底层逻辑

通过SSH客户端&#xff08;如Xshell&#xff09;连接到服务器的22端口并执行top命令&#xff0c;涉及多个技术细节和底层逻辑。以下是对这一过程的详细解释&#xff1a; 一、技术细节 SSH协议&#xff1a; SSH&#xff08;Secure Shell&#xff09;是一种网络协议&#xff0c;…...

stm32以太网接口:MII和RMII

前言 使用stm32和lwip进行网络通信开发时&#xff0c;实现结构如下&#xff1a; 而MII和RMII就是stm32与PHY芯片之间的通信接口&#xff0c;类似于I2C、UART等。 stm32以太网模块有专用的DMA控制器&#xff0c;通过AHB接口将以太网内核和存储器相连。 数据发送时&#xff0c;…...

ChromeDriver 官方下载地址_测试自动化浏览器驱动

大家在做selenium自动化测试时&#xff0c;需要下载谷歌浏览器驱动&#xff0c;可以从以下官网地址下载 &#xff08;1&#xff09; ChromeDriver 下载地址1 http://chromedriver.storage.googleapis.com/index.html 这个地址最后版本到 114.0.5735.90 &#xff08;2&#…...

力扣 LeetCode 206. 反转链表(Day2:链表)

解题思路&#xff1a; pre &#xff0c;cur双指针 需要通过tmp暂存cur的下一个位置&#xff0c;以方便cur的下一步移动 class Solution {public ListNode reverseList(ListNode head) {ListNode pre null;ListNode cur head;while (cur ! null) {ListNode tmp cur.next;c…...

kafka消费数据太慢了,给优化下

原代码 public class KafkaConsumerDemo {public static void main(String[] args) {int numConsumers 5; // 增加消费者的数量for (int i 0; i < numConsumers; i) {new Thread(new KafkaConsumerThread()).start();}}static class KafkaConsumerThread implements Runn…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...

游戏开发中常见的战斗数值英文缩写对照表

游戏开发中常见的战斗数值英文缩写对照表 基础属性&#xff08;Basic Attributes&#xff09; 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...