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

news2024/11/23 16:52:00

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

本教程作为gdb/gdbserver编译安装教程的一个补充,教会大家如何使用gdb/gdbserver进行远程调试。

在这里插入图片描述

如上图所示,我们需要将编译后的gdbserver上传至目标设备,其上传方式可以通过scp、ftp等。
目标设备作为gdb服务端,宿主机或者主机作为我们的客户端。

在待调试设备中找到gdbserver程序

/*cd到包含gdbserver的目录*/
./gdbserver 192.168.100.1:1234 ./program1 [参数1]
参数说明:
	192.168.100.1:目标设备的IP,可通过ifconfig等命令查看。
	1234:自定义绑定目标设备的端口号。
	program1 :目标设备中待调试的程序。

在这里插入图片描述

二、启动主机客户端gdb

在主机中找到aarch64-linux-gun-gdb程序所在的目录
在这里插入图片描述
启动主机gdb

./aarch64-linux-gun-gdb

在这里插入图片描述
gdb中以下命令来连接设备中的gdbserver

target remote 192.168.100.1:1234

在这里插入图片描述

连接上后,正常使用gdb命令进行调试。

三、gdb常见命令

  • 打断点
    • break *address ,示例:break *0x00346512
    • b *address ,示例:b *0x00346512
  • 查看所有断点
    • info breakpoints
  • 删除断点
    • delete [breakpoint-number],示例:delet 1
    • d [breakpoint-number],示例:d 1
  • 执行到断点或者程序结束
    • continue
    • c
  • 单步执行,进入函数内部
    • step
    • s
  • 单步执行,不进入函数内部
    • next
    • n
  • 执行到当前函数结束
    • finish
  • 查看所有寄存器的值
    • info registers
    • i r
  • 查看特点寄存器的值
    • info registers eax
    • i r eax
  • 查看指定内存的值(查看从地址 0x7fffffffe000 开始的16个字节的16进制值)
    • x/16bx 0x7fffffffe000
  • 显示调用栈信息
    • backtrace
    • bt

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

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

相关文章

架构零散知识点

1 数据库 1.1 数据库范式 有一个学生表,主键是学号,含有学生号、学生名、班级、班级名,违反了数据库第几范式? --非主属性不依赖于主键,不满足第二范式 有一个订单表,包含以下字段:订单ID&…

【时间之外】IT人求职和创业应知【31】

目录 新闻一:2024年“秦创原沣东杯”陕西省科技工作者创新创业大赛颁奖仪式暨沣东新城机器人产业发展大会盛大启幕 新闻二:声网CEO赵斌:RTE将成为生成式AI时代AI Infra的关键部分 新闻三:“5G工业互联网”融合应用试点城市名单…

移动开发(七):.NET MAUI使用RESTAPI实现查询天气笔记

目录 一、接口准备 二、实体部分 三、页面部分 四、后台代码逻辑 五、总结 在移动开发过程中,第三方对接是非常常见的。今天给大家分享.NET MAUI如何使用REST API实现输入城市名称查询天气的示例,希望对大家学习.NET MAUI可以提供一些帮助! 一、接口准备 首先我们需要…

Javascript中如何实现函数缓存?函数缓存有哪些应用场景?

#一、是什么 函数缓存,就是将函数运算过的结果进行缓存 本质上就是用空间(缓存存储)换时间(计算过程) 常用于缓存数据计算结果和缓存对象 解释 const add (a,b) > ab; const calc memoize(add); // 函数缓存…

【网络安全 | 并发问题】Nginx重试机制与幂等性问题分析

未经许可,不得转载。 文章目录 业务背景Nginx的错误重试机制proxy_next_upstream指令配置重试500状态码非幂等请求的重试问题幂等性和非幂等性请求non_idempotent选项的使用解决方案业务背景 在现代互联网应用中,高可用性(HA)是确保系统稳定性的关键要求之一。为了应对服务…

利用游戏引擎的优势

大家好,我是小蜗牛。 在当今快速发展的游戏产业中,选择合适的游戏引擎对开发者来说至关重要。Cocos Creator作为一款功能强大且灵活的游戏引擎,为开发者提供了丰富的工具和资源,使他们能够高效地开发出优秀的游戏。本文将探讨如何…

财务源码 财务软件 SaaS 云财务

🔍 专业财务源码,助您快速开展财务管理!📈 🎯 我们提供一系列高质量、可定制、易于使用的财务源码,帮助您快速搭建强大的财务管理系统。无论是小型企业、中型企业,还是个人用户,我们…

数据流图,学习笔记

目录 一、数据流图的基本元素 外部实体(External Entity) 加工(Process) 数据存储(Data Store) 数据流(Data Flow) 二、数据流图的层次结构 顶层数据流图 中层数据流图 底层…

docker镜像文件导出导入

1. 导出容器(包含内部服务)为镜像文件(docker commit方法) 原理:docker commit命令允许你将一个容器的当前状态保存为一个新的镜像。这个新镜像将包含容器内所有的文件系统更改,包括安装的软件、配置文件等…

Android中桌面小部件framework层使用到的设计模式

在Android中,桌面小部件(App Widget)的Framework层采用了多种设计模式,以实现模块化、可维护性和高效的交互。 以下是Android桌面小部件Framework层中常用的设计模式及其具体应用: 1. 观察者模式(Observe…

7.《双指针篇》---⑦三数之和(中等偏难)

题目传送门 方法一:双指针 1.新建一个顺序表用来返回结果。并排序数组。 2.for循环 i 从第一个数组元素遍历到倒数第三个数。 3.如果遍历过程中有值大于0的则break; 4.定义左右指针,以及target。int left i 1, right n - 1; int target -nums[i];…

DBeaver工具连接Hive

DBeaver工具连接Hive 首先解压安装包dbeaver-ce-latest-x86_64-setup.zip,并安装dbeaver-ce-latest-x86_64-setup.exe; 安装Kerberos客户端4.1-amd64.msi; 查看集群节点/etc/hosts文件内容,并追加到C:\Windows\System32\drivers\etc\hosts; 下载集群用户keytab文件,并解压…

从零开始 blender插件开发

blender 插件开发 文章目录 blender 插件开发环境配置1. 偏好设置中开启相关功能2. 命令行打开运行脚本 API学习专有名词1. bpy.data 从当前打开的blend file中,加载数据。2. bpy.context 可用于获取活动对象、场景、工具设置以及许多其他属性。3. bpy.ops 用户通常…

深入理解JVM

文章目录 1. JVM内存区域划分2. JVM中类加载过程类加载(1)类加载的基本流程(2)双亲委派模型 《深入理解java虚拟机》 在这本书前,面试官对于JVM也不是很了解。 这本书主要还是写个一下开发 JVM 的人。 1. JVM内存区域…

c# 开发web服务 webserver

024-11-10<<<<<<<<<<<<<<<<<<<<<<<<<< 开始插件前Cyber_CallWeb acajax_dac_database_viewer 2024-11-10<<<<<<<<<<<<<<<<<<<<…

WPS 默认模板修改

重装系统把word自定义样式搞没了&#xff0c;安装office时间太长&#xff0c;转战wps 解决方案 打开wps 点击【新建】word空白文档 设置修改你自己的样式 点击文件–另存为–Microsoft Word 带宏的模板文件&#xff08;*.dotm&#xff09; 另存路径为如下&#xff1a; 查…

使用vite构建一个react网站,并部署到Netlify上

这篇教程中&#xff0c;我会教你如何用vite快速构建一个react网站&#xff0c;并把网站免费部署到Netlify上&#xff0c;让别人可以经由网址访问你的react网站。 1. 使用vite构建基础框架 npm create vitelatestcd vite-project npm install npm run dev2. 网站内容设计 3. 构…

GPT-5 一年后发布?对此你有何期待?

GPT-5 一年后发布?对此你有何期待? 在最新技术的洪流中,GPT-5即将登场。你是否在思考,它将为我们的生活和工作带来哪些变革?接下来的探索,或许可以启发你对未来的想象。让我们一起深入这场关于未来AI语言模型的讨论。 一、技术上的提升 1.1 更强的语言理解能力 想象一…

MPC5744P——UART通信

简介 快速通过官方的example工程跑通MPC5744P的UART通信。 一、软件工程 点击File->New->S32DS Project from Example&#xff0c;打开示例程序窗口。 选择MPC5744P->LINFlexD_UART_MPC5744P&#xff0c;点击Finish&#xff0c;创建UART的示例工程。 工程创建成功&…

安当ASP系统:适合中小企业的轻量级Radius认证服务器

安当ASP&#xff08;Authentication Service Platform&#xff09;身份认证系统是一款功能强大的身份认证服务平台&#xff0c;特别适用于中小企业。其中&#xff0c;简约型Radius认证服务器是安当ASP系统中的一个重要组成部分。以下是对该系统的详细介绍&#xff1a; 一、主要…