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

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.mzph.cn/pingmian/59989.shtml

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

相关文章

(65)使用RLS自适应滤波器进行信道均衡的MATLAB仿真

文章目录 前言一、仿真说明二、码间串扰、色散、与频率选择性衰落1. 码间串扰(ISI)2. 信道的色散与码间串扰3. 减少ISI的方法 三、MATLAB仿真代码四、仿真结果1.发送16QAM信号的星座图2.信道的频率响应3.接收16QAM信号的星座图4.均衡后16QAM信号的星座图…

【数据分析】如何构建指标体系?

有哪些指标体系搭建模型?五个步骤教你从0开始搭建指标体系 一、企业指标体系搭建存在什么问题 许多企业在搭建数据指标体系时遇到了诸多难题,如问题定位不准确、数据采集不完整、目标不一致、报表无序、指标覆盖不全面以及报表价值未充分利用等。 1、…

【Linux 30】传输层协议 - TCP

文章目录 🌈 一、TCP 协议介绍⭐ 1. TCP 协议的特点 🌈 二、TCP 协议格式⭐ 1. TCP 报头中各字段的含义⭐ 2. 各 TCP 标志位的用途⭐ 3. 使用结构体描述 TCP 报头 🌈 三、TCP 的窗口⭐ 1. TCP 的发送和接收缓冲区⭐ 2. TCP 为什么存在缓冲区⭐…

【渗透测试】payload记录

Java开发使用char[]代替String保存敏感数据 Java Jvm会提供内存转储功能,当Java程序dump后,会生成堆内存的快照,保存在.hprof后缀的文件中,进而导致敏感信息的泄露。char[]可以在存储敏感数据后手动清零,String对象会…

TypeScript 中的三斜杠指令语法

/// <reference types"node" /> 是 TypeScript 中的一种三斜杠指令语法&#xff0c;用于引用额外的类型定义文件。这种语法常见于 TypeScript 项目中的 *.ts 文件&#xff0c;通常在文件顶部添加&#xff0c;作用是引入指定库的类型定义&#xff0c;以便在文件…

【Linux杂货铺】IO多路复用

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 五种IO模型 &#x1f4c2; 阻塞IO &#x1f4c2; 非阻塞IO &#x1f4c2; 信号驱动IO &#x1f4c2; 多路复用 &#x1f4c2; 异步IO &#x1f4c1; 非阻塞IO实现 &#x1f4c1; select &#x1f4c2; 接口使用 &#x…

Kafka 的一些问题,夺命15连问

kafka-中的组成员 kafka四大核心 生产者API 允许应用程序发布记录流至一个或者多个kafka的主题&#xff08;topics&#xff09;。 消费者API 允许应用程序订阅一个或者多个主题&#xff0c;并处理这些主题接收到的记录流 StreamsAPI 允许应用程序充当流处理器&#xff08;s…

ANNOVAR下载

1.官网 https://annovar.openbioinformatics.org/en/latest/user-guide/startup/ 都填英文 要不然会报错 tar -xzvf annovar.latest.tar.gztree . ├── annotate_variation.pl ├── coding_change.pl ├── convert2annovar.pl ├── example │ ├── ex1.avinput…

Java——》创建线程的方式

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

集群架构中Lua脚本的限制以及出现的报错

&#x1f680; 博主介绍&#xff1a;大家好&#xff0c;我是无休居士&#xff01;一枚任职于一线Top3互联网大厂的Java开发工程师&#xff01; &#x1f680; &#x1f31f; 在这里&#xff0c;你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人&#xff0c;我不仅热衷…

大语言模型:解锁自然语言处理的无限可能

0.引言 在当今的科技时代&#xff0c;自然语言处理技术正以前所未有的速度发展&#xff0c;语言大模型作为其中的核心力量&#xff0c;对各个领域产生了深远的影响。本文旨在探讨语言大模型的发展历程、核心技术以及广泛的应用场景&#xff0c;以帮助读者更好地理解这一前沿技…

MATLAB实现智能水滴算法(Intelligent Water Drops Algorithm, IWDA)

1.智能水滴算法介绍 智能水滴算法&#xff08;Intelligent Water Drops Algorithm&#xff0c;IWDA&#xff09;是一种基于水滴特性的智能优化算法&#xff0c;它借鉴了水滴在自然界中的运动和形态变化规律&#xff0c;通过模拟水滴的形成、发展和消亡过程&#xff0c;实现问题…

微信小程序eval无法使用的替代方案

浏览器环境下&#xff0c;eval 是 JavaScript 中的一个函数&#xff0c;它可以将一个字符串作为 JavaScript 代码进行执行。 例如&#xff1a; const j 2; const p 5;const sum jp;const result eval(sum) // ouput: 7但是在微信小程序中并不支持eval函数。 解决方案&am…

【计网】基于TCP协议的Echo Server程序实现与多版本测试

目录 前言&#xff1a; 1、InitServer类的实现 1.1. 创建流式套接字 1.2. bind 绑定一个固定的网络地址和端口号 1.3.listen监听机制 1.4.完整代码 2. 循环接收接口与服务接口 2.1.accept函数讲解 讲个商场拉客的故事方便我们理解&#xff1a; 2.2.服务接口实现 3.服…

easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头

easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头 原版表头和表体字体美化自动拼接错误提示列自适应宽度自动合并单元格使用Easyexcel使用poi导出 在后台管理开发的工作中,离不开的就是导出excel了. 如果是简单的导出, 直接easyexce…

stm32cubeide 1.16.1 在ubuntu 24.04上的安装

从ST官网下载stm32cubeide 1.16.1后&#xff0c;在ubuntu 24.04上安装提示缺少三个依赖包&#xff1a; The following packages have unmet dependencies: st-stm32cubeide-1.16.1 : Depends: libncurses5 but it is not installable Depends: lib…

边缘计算的学习

文章目录 概要何为边缘计算&#xff1f;现阶段&#xff0c;企业使用边缘计算相对云计算 整体架构流程边缘网络组件边缘计算与云安全 研究方向结合引用 概要 edge 何为边缘计算&#xff1f; 边缘计算&#xff08;英语&#xff1a;Edge computing&#xff09;&#xff0c;是一种…

SpringBoot在城镇保障性住房管理中的应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理城镇保障性住房管理系统的相关信息成为必然…

算法|牛客网华为机试41-52C++

牛客网华为机试 上篇&#xff1a;算法|牛客网华为机试21-30C 文章目录 HJ41 称砝码HJ42 学英语HJ43 迷宫问题HJ44 SudokuHJ45 名字的漂亮度HJ46 截取字符串HJ48 从单向链表中删除指定值的节点HJ50 四则运算HJ51 输出单向链表中倒数第k个结点HJ52 计算字符串的编辑距离 HJ41 称砝…

Harmony鸿蒙高级证书考试

1、以下关于Taskpool和Worker的描述正确的是 ​ B、TaskPool支持任务延时执行 2、以下哪个装饰器用来表示并发共享对象。 ​ B、@Sendable 3、ArkTS支持以下哪些函数(不确定) ​ A、Object.keys(); 4、以下哪些赋值语句在ArkTS中是合法。 let value2: string | null = null…