ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver

news2024/9/25 7:21:53

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver

gdb是一款开源的、强大的、跨平台的程序调试工具。主要用于在程序运行时对程序进行控制和检查,如设置断点、单步执行、查看变量值、修改内存数据等,从而帮助开发者定位和修复代码中的错误。
gdbserver则是GDB的一个辅助工具,主要用于调试嵌入式系统或者没有图形界面的目标系统上的程序。GDBServer在目标设备上运行,将目标程序的状态信息通过网络发送给宿主机上的GDB,使GDB能够像调试本地程序一样调试远程的目标程序。这样,开发人员就可以在宿主机上使用GDB的各种功能,而不需要在目标设备上安装和运行复杂的调试环境。
说明:本教程适用于ubuntu环境下交叉编译gdbserver,目标架构为aarch64小端。

一、准备阶段

根据需求,准备gdb源代码和aarch64-linux-gnu交叉编译工具链。
博主选择的gdb源代码以及aarch64-linux-gnu交叉编译工具链分别是,gdb8.3gcc-arm-8.3-2019.02-x86_64-aarch64-linux-gnu.tar.xz(aarch64小端)

gdb源代码地址:https://ftp.gnu.org/gnu/gdb/

在这里插入图片描述

交叉编译工具链下载地址:https://developer.arm.com/downloads/-/gnu-a

在这里插入图片描述

注意:在选择交叉编译工具链时,一定要明确目标架构大小端。

二、编译安装gdb

首先通过configure配置gdb编译选项,再进行编译和安装。

(一)、配置gdb编译选项

cd gdb8.3
./configure --target=aarch64-linux-gnu --prefix=/home/hhl/gdbserver
参数说明:
	--target 目标架构
	--prefix 自定义gdb编译安装路径

在这里插入图片描述

(二)、编译gdb

cd gdb8.3
make -j8
参数说明:
	--j8 并行编译(8

在这里插入图片描述

(三)、安装gdb

cd gdb8.3
make install

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

三、交叉编译gdbserver
(一)、配置gdbserver编译选项

由于gdbserver需要移植到目标环境中运行,为了避免环境的影响,因此采取静态编译的方式。

cd gdb8.3/gdb/gdbserver
LDFLAGS="-static" ./configure --target=aarch64-linux-gnu --host=aarch64-linux-gnu  --disable-shared --enable-static 
参数说明:
	LDFLAGS="-static"  静态编译
	--target 目标架构
	--prefix 自定义gdb编译安装路径
	--disable-shared --enable-static 可选参数,静态编译。

(二)、交叉编译gdbserver

使用绝对路径正确配置gcc和g++的路径。

make CC=/home/hhl/gcc-arm-8.3-2019.02-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc CXX=/home/hhl/gcc-arm-8.3-2019.02-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ -j8
参数说明:
	CC gcc路径
	cXX g++路径

在这里插入图片描述

交叉编译成功后,gdbservergdb8.3/gdb/gdbserver路径下

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

熬了一晚上,我从零实现了 Transformer 模型,把代码讲给你听

自从彻底搞懂Self_Attention机制之后,笔者对Transformer模型的理解直接从地下一层上升到大气层,瞬间打通任督二脉。夜夜入睡之前,那句柔情百转的"Attention is all you need"时常在耳畔环绕,情到深处不禁拍床叫好。于是…

无线领夹麦克风怎么挑选,降噪麦克风能消除旁边人说话声吗?

在自媒体行业的蓬勃发展下,音频设备的地位愈发显著,尤其是麦克风这一关键组件。它见证了从传统新闻采访、电视节目制作到现代网络直播、个人视频日志(Vlog)的演变。随着技术的进步和应用场景的多样化,麦克风的种类也日…

软考分数线有3种,低于45分也能拿证!

软考合格分数标准是45分,这个是广泛为人所知的。然而,有些地区即使没有达到45分也可以获得证书,这一点许多考生并不清楚。总的来说,软考的合格标准有三种! ● 全国分数线:通常是各科45分及格,证…

将WordPress的文章重新排序的3个方法

有效的调整文章显示顺序看开可以更好突出内容,还可以保持网站的新鲜感,今天我将带您了解三种方法,通过重新排序文章显著提升网站的吸引力。我们将逐步讲解从调整设置到使用插件以及“置顶”文章的每一种方法,确保WordPress 新手也…

学生护眼台灯十大排名有哪些?品牌台灯质量前十的排名曝光!

在孩子学习过程中,有一样物品的重要性不容忽视,那就是一盏提供舒适光源的台灯。面对不断增加的学业负担,孩子们经常需要在夜晚借助台灯的光亮进行学习,这已经成为了家庭生活中普遍的情景。然而,我们必须给予足够的关注…

股票分析系统设计方案大纲与细节

股票分析系统设计方案大纲与细节 一、引言 随着互联网和金融行业的迅猛发展,股票市场已成为重要的投资渠道。投资者在追求财富增值的过程中,对股票市场的分析和预测需求日益增加。因此,设计并实现一套高效、精准的股票分析系统显得尤为重要。本设计方案旨在提出一个基于大…

智启未来,共筑工业软件新梦 ——清华大学博士生天洑软件实习启航

2024年6月30日,清华大学工程物理系、深圳国际研究生院、航天航空学院、机械工程系、能源与动力工程系的10名博士研究生抵达南京天洑软件有限公司,正式开启为期6周的博士生必修环节社会实践。 “天洑软件清华基地”成立于2021年,旨在为清华理工…

智能锁赛博化,凯迪仕携全球顶尖科技亮相建博会!

7月8日,作为大家居建材行业全球规模第一大展,2024中国建博会(广州)在广交会展馆正式拉开序幕。据官方数据显示,本届展会展出规模展览总规模近40万平方米,建筑装饰领域各细分题材的一线品牌几乎全部参展。 其…

[图解]企业应用架构模式2024新译本讲解24-标识映射3

1 00:00:00,460 --> 00:00:02,580 超类定义了一个抽象方法 2 00:00:03,170 --> 00:00:03,450 3 00:00:06,410 --> 00:00:09,690 把reader内容 4 00:00:10,870 --> 00:00:12,350 把它变成一个领域对象 5 00:00:13,690 --> 00:00:15,800 但这里只是把它变成一个…

SpringBoot + MyBatisPlus 实现多租户分库

一、引言 在如今的软件开发中,多租户(Multi-Tenancy)应用已经变得越来越常见。多租户是一种软件架构技术,它允许一个应用程序实例为多个租户提供服务。每个租户都有自己的数据和配置,但应用程序实例是共享的。而在我们的Spring Boot MyBati…

【吊打面试官系列-MyBatis面试题】什么是 MyBatis 的接口绑定?有哪些实现方式?

大家好,我是锋哥。今天分享关于 【什么是 MyBatis 的接口绑定?有哪些实现方式?】面试题,希望对大家有帮助; 什么是 MyBatis 的接口绑定?有哪些实现方式? 接口绑定,就是在 MyBatis 中…

【windows OBS开启直播】Windows搭建RTMP视频流服务(Nginx服务器版)

如果您想在windows 电脑上设置RTMP服务器,并使用VLC播放器播放OBS的直播流,您可以使用一个本地的RTMP服务器软件,如nginx配合nginx-rtmp-module来搭建。下面 详细介绍下如何搭建此视频流服务。 1、安装和配置本地RTMP服务器 步骤1&#xff…

在Morelogin中使用IPXProxy海外代理IP的设置指南

Morelogin指纹浏览器是市场上较受欢迎的指纹浏览器,允许用户管理多个账号并进行自动化操作。它提供免费环境供用户进行体验,并且操作起来非常简单。大多数人都会将Morelogin指纹浏览器和海外代理IP进行使用,来应用于多种场景,如电…

拨开迷雾,寻找大模型应用落地的支点

自主可控大模型底座个性化刚需场景,这家大模型公司率先趟出一条个性化发展路径。 作者 | 辰纹 来源 | 洞见新研社 上海的温度很高,接近40度,比上海温度更高的是AI的热度。 7月4日,2024世界人工智能大会暨人工智能全球治理高…

uniapp内置组件uni.navigateTo跳转后页面空白问题解决

文章目录 导文空白问题 导文 在h5上跳转正常 但是在小程序里面跳转有问题 无任何报错 页面跳转地址显示正确,但页面内容为空 空白问题 控制台: 问题解决: 方法1: 可能是没有注册的问题,把没注册的页面 注册一下。 方…

如何理解数据模型?颗粒度、维度及指标?

问题1 什么是数据模型? 数据模型反映在数据库中就是一张表,该表把他分开来看有以下关注的点。 (1)主键:表明该表主要的分析对象,比如我们的分析对象是订单、是商品、是门店,那么主键就是订单id,…

烧烤炉发霉怎么处理 烧烤炉发霉的原因分析

仓库储存的烧烤炉表面布满了霉菌是什么原因?烧烤炉发霉不仅影响外观和卖点,若是出口给到客户手上还会导致面临客户的索赔的问题 ,经ihaoer防霉人士介绍烧烤炉发霉处理方法如下: 烧烤炉发霉的原因分析 一、储存的环境潮湿&#xff…

动手学深度学习(Pytorch版)代码实践 -循环神经网络-55循环神经网络的从零开始实现和简洁实现

55循环神经网络的实现 1.从零开始实现 import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2l import matplotlib.pyplot as plt import liliPytorch as lp# 读取H.G.Wells的时光机器数据集 batch_size, num_ste…

若依 ruoyi-vue SpringBoot highlight-textarea 输入框敏感词关键词高亮标红(二)

参考文章,非常感谢大佬的分享 实现可高亮的输入框 — HighlightTextarea GitHub:highlight-textarea 可看作者上一篇文章 若依 ruoyi-vue SpringBoot聊天敏感词过滤sensitive-word(一) 效果图 审核时,输入框高亮敏感词&#xff…

由于找不到emp.dll无法运行游戏的多个有效解决方法分享

在玩游戏时候是否遇到过找不到emp.dll,无法继续执行代码问题无法打开游戏?那么这个emp.dll是什么呢?为什么会丢失,emp.dll丢失要怎么办?今天就给大家详细介绍一下emp.dll文件与emp.dll丢失的多个解决方法! 一、emp.dll…