arm-none-eabi-addr2line和arm-none-eabi-objdump使用笔记

1. arm-none-eabi-addr2line

arm-none-eabi-addr2line -ife ./nuttx/vela_ap.elf  0x0c177186

arm-none-eabi-addr2line 是一个用于将地址转换为文件名和行号的工具,用于在嵌入式系统中调试程序时定位代码位置。命令的一般格式是:
arm-none-eabi-addr2line -e <可执行文件> <地址>

  • -e 参数指定可执行文件。
  • -i 选项,该工具会显示关于输入文件的详细信息
  • -f 选项,它将显示完整的函数名称
  • <可执行文件> 是你要查找代码位置的可执行文件。
  • <地址> 是要转换为文件名和行号的十六进制地址。

举例来说,如果你有一个名为 example.elf 的可执行文件,并且想要查找地址 0x12345678 对应的代码位置,你可以运行以下命令:

arm-none-eabi-addr2line -e example.elf 0x12345678

2. arm-none-eabi-objdump

arm-none-eabi-objdump --source --all-headers --demangle --file-headers --line-numbers --wide "test.elf" > "test.lst"

这条命令是用来对名为"test.elf"的二进制文件进行反汇编并生成一个包含源代码、头文件、行号等信息的列表文件"test.lst"。

arm-none-eabi-objdump: 这是一个用于反汇编目标文件的工具。

  • –source: 表示在列表文件中包含反汇编后的源代码。
  • –all-headers: 表示在列表文件中包含所有的头文件信息。
  • –demangle: 表示对C++符号进行解缠。
  • –file-headers: 表示在列表文件中包含有关文件本身的头信息。
  • –line-numbers: 表示在列表文件中包含源代码行号。
  • –wide: 表示在列表文件中使用宽格式输出。

执行这条命令后,生成的"test.lst"文件将包含了"test.elf"二进制文件的反汇编内容、源代码、头文件信息、行号等详细信息。这个列表文件可以帮助你更好地理解和调试这个二进制文件的内容。

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

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

相关文章

国际数字影像产业园以数字影像技术,重构文创生活

国际数字影像产业园区&#xff0c;作为树莓集团与成都市金牛区人民政府合作的重点项目&#xff0c;于2023年3月正式在金牛区落地生根。这一园区不仅是第五代产业园区的代表&#xff0c;更是数字影像相关产业服务的特色园区&#xff0c;其独特的定位和宏大的愿景“以数字影像技术…

centos安装nvidia驱动(附各种问题)

一准备 1.1 看开显卡型号 1、Linux查看显卡信息:(ps:若找不到lspci命令,可以安装 yum install pciutils) lspci | grep -i vga 2、使用nvidia GPU可以: lspci | grep -i nvidia 3、查看显卡驱动 cat /proc/driver/nvidia/version 1.2 安装环境依赖 yum install kernel-d…

达梦关键字(如:XML,EXCHANGE,DOMAIN,link等)配置忽略

背景&#xff1a;在使用达梦数据库时&#xff0c;查询SQL中涉及XML,EXCHANGE,DOMAIN,link字段&#xff0c;在达梦中是关键字&#xff0c;SQL报关键词不能使用的错误。 解决办法&#xff1a; 配置达梦安装文件E:\MyJava\dmdbms\data\DAMENG\dm.ini 忽略这些关键词&#xff0c;…

景联文科技:为AI大模型提供高质海量训练数据

在全球AI浪潮的推动下&#xff0c;大量训练数据已成为AI算法模型发展和演进中的关键一环。 艾瑞咨询数据显示&#xff0c;包括数据采集、数据处理&#xff08;标注&#xff09;、数据存储、数据挖掘等模块在内的AI基础数据服务市场&#xff0c;将在未来数年内持续增长。 预计到…

MySQL典型示例

目录 1.使用环境 2.设计表 3.创建表 4.准备数据 5.查询 1.使用环境 数据库&#xff1a;MySQL 8.0.30 客户端&#xff1a;Navicat 15.0.12 2.设计表 假设我们已经建好了一个名为test的数据库。我们添加如下几个表&#xff1a;教师、课程、学生、班级、成绩。实体联系图设…

跨平台私人ChatGPT应用ChatGPT-Next-Web

什么是 NextChat (ChatGPT Next Web) &#xff1f; NextChat (ChatGPT Next Web) 是可以一键免费部署的跨平台私人 ChatGPT 应用, 支持 GPT3, GPT4 & Gemini Pro 模型。 准备 因为老苏没有 OpenAI Key&#xff0c;所以使用 FreeGPT35 来提供无限免费的 GPT-3.5-Turbo API …

qt调试日志文件生成

系列文章目录 第一章 qt日志文件生成功能 文章目录 系列文章目录前言一、qt日志文件生成功能二、使用步骤1.代码示例2.运行截图 前言 qt有固定的调试日志接口&#xff0c;可以通过终端去打印&#xff0c;但是仅适用在本地去调试&#xff0c;例如想长期放到测试台去检测&#…

MVCC-多版本并发控制

MVCC&#xff08;多版本并发控制&#xff09;简介 在数据库系统中&#xff0c;并发控制是一个非常重要的话题。为了提高系统的并发性能和吞吐量&#xff0c;现代数据库系统通常使用多种技术来实现对数据的安全访问&#xff0c;其中一种重要的技术就是多版本并发控制&#xff0…

springboot设置RestTemplate支持httphttps

1.添加HttpsClientRequestFactory public class HttpsClientRequestFactory extends SimpleClientHttpRequestFactory {Overrideprotected void prepareConnection(HttpURLConnection connection, String httpMethod) {try {if (!(connection instanceof HttpsURLConnection))…

如何给MySQL数据库的所有表统一加上字段

在开发过程中&#xff0c;有时候慢慢的建了很多数据库表&#xff0c;但是后来发现需要统一增加某些字段的时候&#xff0c;可以通过alter语句 ALTER TABLE 表名 ADD 列名 数据类型;比如我要给t_user表增加gmt_create与gmt_modified字段&#xff0c;用作记录新增记录时间与更新…

【机器人】PyBullet四足机器狗仿真

随着科技的迅猛发展&#xff0c;机器人技术正日益成为现实生活中的重要组成部分。而在机器人研究领域&#xff0c;仿真技术的应用扮演着不可或缺的角色。它不仅可以节约大量资源和成本&#xff0c;更为工程师和研究者提供了一个安全、高效的实验平台。在这个博客中&#xff0c;…

hanlp中文分词器(ing...)

目前的工作中需要对文本进行分词分析词性,找出热词,经过一系列的调研感觉hanlp这个库还不错,想先试用看看 介绍 HanLP&#xff08;Han Language Processing&#xff09;是一个由一系列模型与算法组成的NLP工具包&#xff0c;目标是普及自然语言处理在生产环境中的应用。HanLP…

工地安全监测识别摄像机

工地安全监测识别摄像机是一种在建筑工地和施工现场广泛使用的智能监控设备&#xff0c;主要用于监测施工过程中可能出现的安全隐患和违规行为&#xff0c;以确保工地人员和设备的安全。通过高清摄像头、智能算法和远程监控系统的结合&#xff0c;该摄像机可以实时监测工地各个…

node.js 中的require用法 和import的区别

node.js 中的require用法 在Node.js中&#xff0c;require是一个内置的函数&#xff0c;用于在当前模块中加载和缓存其他模块。这是Node.js模块系统的基础&#xff0c;允许你导入第三方库或其他模块文件。这里是一些基本用法和注意事项&#xff1a; 基本用法 导入核心模块&am…

【gitlab】修改默认存放存放目录

流程 共享文件路径是 /mnt/hgfs/project停掉gitlab gitlab-ctl stop修改gitlab的配置文件,找到 vim /etc/gitlab/gitlab.rb找到 git_data_dirs里面的path 换成共享文件路径 # git_data_dirs({ # "default" > { # "path" > "/mnt/hgfs/…

C#设计简单的WinForms多窗口应用程序[示例]

这个程序是一个简单的多窗口应用程序&#xff0c;使用了 Windows 窗体&#xff08;WinForms&#xff09;来创建用户界面。让我们逐步分析它的结构&#xff1a; 1. **命名空间&#xff08;Namespace&#xff09;&#xff1a;** 整个程序位于名为 MultiWindowApp 的命名空间中…

电商社交新零售:创新引领新趋势,变革新零售思维格局-亿发

新零售O2O模式是如何颠覆传统零售商业模式&#xff1f; 传统电商出现瓶颈&#xff1a; 传统电商在发展过程中逐渐出现了瓶颈&#xff0c;主要表现在市场竞争激烈、用户获取成本上升、用户黏性下降等问题。传统电商往往只能通过价格竞争或促销活动来吸引用户&#xff0c;而这种…

重构数据访问层-优化数据访问的开发

重新整理了一下过去开发的框架&#xff0c;在准备开发新项目时候&#xff0c;重新整理了一下思路&#xff0c;感觉数据访问层还是很鸡肋。过去几年中&#xff0c;急于完成项目开发和交付&#xff0c;框架都是迭代过来的&#xff0c;虽然满足了开发需求&#xff0c;但是&#xf…

软考118-上午题-【软件工程】-能力成熟度模型

一、考试题型 选择题&#xff08;13题&#xff09; 二、能力成熟度模型CMM 能力成熟度模型CMM的研究目的是&#xff1a;提供一种评价软件承接方能力的方法&#xff0c;同时它可帮助软件组织改进其软件过程。 CMM 将软件过程改进分为以下5个成熟度级别&#xff1a; 1、初始级…

二叉树的遍历——bfs广度优先搜索

1、BinNode类的创建 &#xff08;1&#xff09;代码总览 ##&#xff08;2&#xff09;测试示例 2、二叉树的遍历 &#xff08;1&#xff09;图示 &#xff08;2&#xff09;代码总览 &#xff08;3&#xff09;测试示例