Android15之解决gdb:Remote register badly formatted问题(二百三十六)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者
新书发布:《Android系统多媒体进阶实战》🚀
优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

🍉🍉🍉文章目录🍉🍉🍉
- 🌻1.前言
- 🌻2.gdb介绍
- 🌻3.解决方案
- 🐓3.1 查看cpu架构
- 🐓3.2 gdb设置cpu架构
🌻1.前言
本篇目的:Android15之解决gdb:Remote register badly formatted问题
- 详细报错:
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
warning: while parsing target description (at line 4): Target description specified unknown architecture "aarch64"
warning: Could not load XML target description; ignoring
Reading /system/bin/cameraserver from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /system/bin/cameraserver from remote target...
Reading symbols from target:/system/bin/cameraserver...
Reading /usr/lib/debug/.build-id/a2/71360f43b374f7c470860ddb073a9f.debug from remote target...
Reading symbols from .gnu_debugdata for target:/system/bin/cameraserver...
warning: section .interp not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .note.android.ident not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .note.gnu.build-id not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .dynsym not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .gnu.version not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .gnu.version_r not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .gnu.hash not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .dynstr not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .rela.dyn not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .relr.dyn not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .rela.plt not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .rodata not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .eh_frame_hdr not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .eh_frame not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .plt not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .tdata not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .preinit_array not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .init_array not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .fini_array not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .dynamic not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .got not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .got.plt not found in .gnu_debugdata for target:/system/bin/cameraserver
warning: section .bss not found in .gnu_debugdata for target:/system/bin/cameraserver
(No debugging symbols found in .gnu_debugdata for target:/system/bin/cameraserver)
Remote register badly formatted: T001d:602f7dc77f000000;1f:802e7dc77f000000;20:98460e667d000000;thread:p1363.1363;core:0;
here: 7f000000;1f:802e7dc77f000000;20:98460e667d000000;thread:p1363.1363;core:0;
🌻2.gdb介绍
- GDB(GNU Debugger)是一款功能强大的程序调试工具,由GNU项目开发,主要用于C、C++、Ada、Fortran等编程语言的调试。GDB可以帮助开发者查找程序中的错误,分析程序运行时的状态,以及了解程序崩溃的原因。作为开源软件,GDB广泛应用于Linux、Unix、macOS等操作系统,成为了许多程序员日常开发不可或缺的工具。
GDB的主要特点如下:
- 断点设置:GDB允许在代码的特定位置设置断点,当程序运行到这些位置时,会暂停执行,便于开发者观察程序状态。
- 单步执行:通过单步执行,开发者可以观察程序在每一条指令执行后的状态变化,从而找到问题所在。
- 变量查看:GDB可以查看程序中各种变量的值,包括局部变量、全局变量以及静态变量,帮助开发者分析程序逻辑。
- 调用栈分析:GDB提供了查看调用栈的功能,可以显示函数调用顺序及各个函数的参数值,便于定位错误所在的函数。
- 动态修改:在调试过程中,GDB允许动态修改程序中的变量值,甚至可以直接修改代码,从而快速测试不同场景下的程序表现。
- 信号处理:GDB可以捕获程序运行时收到的信号,并显示信号处理函数的调用栈,帮助开发者分析信号处理相关的问题。
- 多线程调试:GDB支持多线程程序的调试,可以分别查看和控制各个线程的执行状态。
- 调试核心文件:GDB能够分析程序崩溃时生成的核心文件,找出导致程序崩溃的原因。
GDB的基本使用流程如下: - 编译程序:在编译程序时,需要添加调试信息选项(如GCC的"-g"选项),以便GDB能够获取到程序的源代码信息。
- 启动GDB:在命令行中输入"gdb"命令,启动GDB调试器。
- 加载程序:使用"gdb"命令启动GDB后,通过"file"命令加载要调试的程序。
- 设置断点:使用"break"命令在程序的特定位置设置断点。
- 运行程序:使用"run"命令开始执行程序,程序会在断点处暂停。
- 查看状态:在断点处,可以使用各种GDB命令查看程序状态,如"print"查看变量值,"next"单步执行等。
- 继续执行:使用"continue"命令让程序继续执行,直到遇到下一个断点或程序结束。
- 退出GDB:调试完成后,使用"quit"命令退出GDB。
- GDB作为一款强大的调试工具,其功能丰富且灵活,能够有效提高开发者查找和解决问题的效率。熟练掌握GDB的使用,对于程序员来说具有重要的实际意义。
🌻3.解决方案
🐓3.1 查看cpu架构
# lscpu
架构: x86_64CPU 运行模式: 32-bit, 64-bitAddress sizes: 39 bits physical, 48 bits virtual字节序: Little Endian
- cpu架构为: x86_64
🐓3.2 gdb设置cpu架构
(gdb) set architecture i386:x86-64
The target architecture is set to "i386:x86-64".
- 设置成功以后,再来执行gdb命令操作即可。
相关文章:
Android15之解决gdb:Remote register badly formatted问题(二百三十六)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…...
【Router】路由器中NAT、NAPT、NPT是什么?
参考链接 NAT vs. NAPT: What’s the Difference? IPv6 Network Prefix Translation (NPt) | pfSense Documentation (netgate.com) 趣谈NAT/NAPT的原理,这篇不可不读! - 知乎 (zhihu.com) NAT (Network Address Translation) NAT说明 NAT&#x…...
代码随想录算法训练营第三十九天|背包问题,416. 分割等和子集
背包问题,416. 分割等和子集 背包问题416. 分割等和子集 背包问题 有N件物品和一个最多能背重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 卡玛网的…...
可调用对象和Lambda
可调用对象: 函数 函数指针 函数对象 Lambda表达式(匿名函数) 01 函数对象 如果一个类实现了"函数调用运算符()"的重载,那么这个类的对象称为函数对象(仿函数) 函数对象的行为,类似于函数,可以被调用 #include …...
华为认证HCIE存储考啥?未来发展方向在哪?一个月就能轻松拿下?
说起HCIE,很多人第一反应都是路由交换、网络安全那些“热门”方向,而存储方向反而成了小众的存在。 其实,存储的江湖地位一点不低,尤其在数据爆炸的时代。 今天咱们就聊聊HCIE存储考什么、为什么要学,以及未来的可能…...
如何让自己的网站,被更多的人搜索到(免费方案)
文章目录 一、要做时间的朋友二、需要独立IP的服务器三、SEO信息如何设置设置网站TDK生成网站地图设置搜索引擎自动提交部署SSL证书加分项:定期更新文章 引言: 许多人都有这样一个问题:做好自己的网站,如何让这个网站被更多的人浏…...
Modbus 协议:工业自动化领域的通信脊梁
一、引言 在当今工业自动化的舞台上,数据的准确传输和设备间的有效通信是实现高效生产、精准控制的关键。Modbus 协议作为一种应用广泛、历史悠久的通信协议,在工业领域发挥着举足轻重的作用。从工厂的生产线到智能建筑的控制系统,从能源管理…...
函数的力量:掌握C语言的基石
目录 前言 标准库:C语言的百宝箱 头文件:库函数的藏宝图 实例分析:计算平方根的sqrt函数 功能描述 头文件包含的重要性 库函数文档的一般格式 自定义函数:释放你的编程创造力 函数的语法形式 函数的比喻 函数的举例 简化…...
U-Boot的移植流程
U-Boot的简化版启动流程: 1、设置状态寄存器 cpsr ,使CPU进入 SVC 特权模式,并且禁止 FIQ 和 IRQ; 2、关闭看门狗、中断、MMU、Cache; 3、初始化部分寄存器和外设(时钟、串口、Flash、内存)&…...
xRDP – 在 Ubuntu 18.04、20.04、22.04、22.10、23.04(脚本版本 1.4.7)上轻松安装 xRDP
最新脚本Repository | c-nergy.be 概述 到目前为止,您应该知道 xrdp-installer 脚本旨在简化 xRDP 在 Ubuntu 操作系统上的安装和配置后操作。xRDP 是一款在 Linux 上启用远程桌面服务的软件。这意味着 Windows 用户可以使用他们的远程桌面客户端 (mst…...
[Linux网络编程]04-多进程/多线程并发服务器思路分析及实现(进程,信号,socket,线程...)
一.思路 实现一个服务器可以连接多个客户端,每当accept函数等待到客户端进行连接时 就创建一个子进程; 核心思路:让accept循环阻塞等待客户端,每当有客户端连接时就fork子进程,让子进程去和客户端进行通信,父进程用于…...
《OpenCV计算机视觉》—— 年龄与性别预测
结合以下链接中的文章有助于理解此篇案例: OpenCV中的 cnn 模块 https://blog.csdn.net/weixin_73504499/article/details/142965441?spm1001.2014.3001.5501 此案例是通过使用OpenCV中的cnn模块来调用别人已经训练好的深度学习模型,此篇案例中用到了…...
详解23种设计模式——第一部分:概述+创建型模式
目录 1. 概述 2. 创建型模式 2.1 简单(静态)工厂模式 2.1.1 介绍 2.1.2 实现 2.2 工厂模式 2.3 抽象工厂模式 2.4 单例模式 2.4.1 饿汉模式 2.4.2 懒汉模式 2.4.3 线程安全的懒汉式 2.4.4 DCL单例 - 高性能的懒汉式 2.5 建造者模式 2.6 原…...
semi-Naive Bayesian(半朴素贝叶斯)
semi-Naive Bayesian(半朴素贝叶斯) 引言 朴素贝叶斯算法是基于特征是相互独立这个假设开展的(为了降低贝叶斯公式: P ( c ∣ x ) P ( c ) P ( x ∣ c ) P ( x ) P(c|x) \frac {P(c)P(x|c)}{P(x)} P(c∣x)P(x)P(c)P(x∣c)中后验概率 P …...
大语言模型(LLM)入门级选手初学教程
链接:https://llmbook-zh.github.io/ 前言: GPT发展:GPT-1 2018 -->GPT-2&GPT-3(扩大预训练数据和模型参数规模)–> GPT-3.5(代码训练、人类对齐、工具使用等)–> 2022.11 ChatG…...
HTML 实例/测验之HTML 基础一口气讲完!(o-ωq)).oO 困
HTML 基础 非常简单的HTML文档 <!DOCTYPE html> <html><head><title>页面标题(w3cschool.cn)</title></head><body><h1>我的第一个标题</h1><p>我的第一个段落。</p></body> </html> 输出&a…...
c语言基础程序——经典100道实例。
c语言基础程序——经典100道实例 001, 组无重复数字的数002,企业发放的奖金根据利润提成003,完全平方数004,判断当天是这一年的第几天005,三个数由小到大输出006,输出字母C图案007,特殊图案008&…...
火星求生CE修改金钱,无限资金
由于火星求生前期没有资金非常难玩,想通过修改资金渡过前期,网上找了一圈修改器,只有修改无限声望和无限科研,就是没有无限资金,于是自己用CE修改 教程 首先查看自己资金是多少M,如下图我是22430M资金&…...
linux 内存管理-slab分配器
伙伴系统用于分配以page为单位的内存,在实际中很多内存需求是以Byte为单位的,如果需要分配以Byte为单位的小内存块时,该如何分配呢? slab分配器就是用来解决小内存块分配问题,也是内存分配中非常重要的角色之一。 slab分配器最终还是由伙伴系统分配出实际的物理内存,只不过s…...
docker-compose部署gitlab(亲测有效)
一.通过DockerHub拉取Gitlab镜像 docker pull gitlab/gitlab-ce:latest 二.创建目录 mkdir -p /root/tool/gitlab/{data,logs,config} && cd /root/tool/gitlab/ 三.编辑DockerCompose.yaml文件 vim /root/tool/gitlab/docker-compose.yml version: "3&quo…...
AI 赋能下新型网络钓鱼攻击演进与多维度防御技术研究
摘要 生成式人工智能的普及使网络钓鱼攻击进入智能化、隐蔽化新阶段,攻击周期大幅缩短、伪装精度显著提升,传统基于规则与特征库的防御机制失效。本文结合 ESET 安全研究与企业实测数据,剖析 AI 驱动钓鱼攻击的技术机理、混淆手段与传播路径&…...
关于整数和浮点数在内存中的存储
了解整数和浮点数在内存中的存储可以更有助于我们深入理解知识,在解一些题时也能起到重要的作用,是我们在学C中不可或缺的重要组成部分,接下来我简要介绍一下:首先,整数就是用二进制码存储。在内存中以补码的形式进行存…...
使用hgdbdeveloper开发工具导出数据后在异机恢复时报错
文章目录环境症状问题原因解决方案环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:4.5.8 症状 使用hgdbdeveloper开发工具时,因未正确配置数据库安装路径,导致导入数据时报错: 问题原因 排查开发工…...
从数据小白到战斗大师:GBFR Logs如何帮你玩转《碧蓝幻想:Relink》
从数据小白到战斗大师:GBFR Logs如何帮你玩转《碧蓝幻想:Relink》 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/…...
掌握N_m3u8DL-CLI-SimpleG:高效流媒体下载工具全攻略
掌握N_m3u8DL-CLI-SimpleG:高效流媒体下载工具全攻略 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 在数字化时代,视频内容已成为信息传播的重要载体&…...
Cyber Engine Tweaks:解决《赛博朋克2077》性能瓶颈与脚本扩展的技术方案
Cyber Engine Tweaks:解决《赛博朋克2077》性能瓶颈与脚本扩展的技术方案 【免费下载链接】CyberEngineTweaks Cyberpunk 2077 tweaks, hacks and scripting framework 项目地址: https://gitcode.com/gh_mirrors/cy/CyberEngineTweaks Cyber Engine Tweaks …...
到底要不要用AI写代码?别争了
其实我一直觉得,现在大家讨论 AI 写代码这件事,有点熟悉。因为以前我们也是这么过来的。刚开始写代码那会儿, 不会就打开 百度, 一行一行找答案,复制、试错、再改。一个分号错了能找半天, 中英文标点混了直…...
Kintsugi AI心理健康筛查技术开源:审批困境与新应用契机
【导语:加利福尼亚初创公司 Kintsugi 开发从语音检测抑郁和焦虑迹象的 AI,因未获 FDA 批准即将关闭并开源技术。其技术有新应用可能,但也面临监管、滥用等问题。】AI语音筛查:心理健康评估新尝试过去七年,Kintsugi 致力…...
libpng 官方参考库中的这两个严重漏洞已存在30年之久
聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士安全研究人员披露了位于 libpng 官方参考库中的两个严重漏洞。libpng 是便携式网络图形格式的官方参考库。这些漏洞影响了跨越数十年开发历程的多个版本,可能允许攻击者触发进程崩…...
UE5-MCP终极教程:3步实现AI自动化游戏场景创作
UE5-MCP终极教程:3步实现AI自动化游戏场景创作 【免费下载链接】UE5-MCP MCP for Unreal Engine 5 项目地址: https://gitcode.com/gh_mirrors/ue/UE5-MCP 你是否曾梦想过用一句话就能创造出令人惊叹的游戏场景?UE5-MCP(Unreal Engine…...
