当前位置: 首页 > news >正文

linux手册翻译 addr2line

名称

addr2line
将地址转换为文件名和代码行数

简介

       addr2line [-a|--addresses][-b bfdname|--target=bfdname][-C|--demangle[=style]][-r|--no-recurse-limit][-R|--recurse-limit][-e filename|--exe=filename][-f|--functions] [-s|--basename][-i|--inlines][-p|--pretty-print][-j|--section=name][-H|--help] [-V|--version][addr addr ...]

描述

addr2line 将地址转换为文件名和代码行数. 给定可执行文件中的地址或可重定位对象的部分中的偏移量,它使用调试信息来找出与它相关联的文件名和行号。

要使用的可执行或可重定位对象使用-e选项指定。默认是文件a.out。使用-j选项指定可重定位对象中要使用的部分。

addr2line 有两种操作模式
第一种, 在命令行上指定十六进制地址,addr2line显示每个地址的文件名和行号。
第二种, addr2line从标准输入中读取十六进制地址,并在标准输出中打印每个地址的文件名和行号。在这种模式下,可以在管道中使用addr2line来转换动态选择的地址。

输出的格式是, 文件名:行号 默认每个输入的地址生成一行输出

两个选项可以在每个 “文件名:行号” 之前生成额外的行.
如果使用了 -a 选项, 会显示带有输入地址的行
如果使用了 -f 选项, 那么带有函数名的行会显示. 这是包含该地址的函数名

一个选项可以在每个 “文件名:行号” 之后生成额外的行.
如果使用了-i选项,由于编译器的内联,在呈现给定地址的代码之后会显示额外的行。对于每个内联函数,将显示一个或两个额外的行(如果使用了-f选项)。
此外, 如果使用-p选项,则每个输入地址生成一个单独的长输出行,其中包含地址、函数名、文件名和行号。如果还使用了-i选项,则任何内联函数将以相同的方式显示,但在单独的行上,并以文本作为前缀(内联)。

如果不能确定文件名或函数名,addr2line将在它们的位置打印两个问号。如果不能确定行号,addr2line将打印0。

选项

这里作为备选项显示的长格式和短格式的选项是等效的。

-a
--addresses

在函数名、文件和行号信息前显示地址。地址用0x前缀打印,方便识别。

-b bfdname
--target=bfdname

指定目标文件的对象代码格式为bfdname。

-C
--demangle[=style]

解码(demangle)低级符号名称为用户级名称。除了删除系统附加的任何初始下划线外,这还使c++函数名具有可读性。不同的编译器有不同的混杂风格。可选的demangling style参数可用于为编译器选择适当的demangling样式。

(译者注: C++编译时,编译后的函数符号名和代码中的函数名并不完全一致(因为C++函数重载, 函数名是一样的, 但编译后的函数名必须要唯一,所以C++会对函数名进行修饰), 这里-C参数的作用就是去掉编译器的修饰, 方便用户可读的方式呈现函数名)

-e filename
--exe filename

指定地址要被翻译的可执行文件的名字, 默认是 a.out

-f
--functions

显示函数名和文件行号信息

-s
--basenames

只显示每个文件名的base (即不显示文件的具体路径,只显示文件名)

-i
--inlines

如果地址属于一个内联函数,则返回到第一个非内联函数的所有封闭作用域的源信息也将被打印出来。例如,如果"main"内联"callee1",而"callee1"内联"callee2",并且address来自"callee2",则"callee1"和"main"的源信息也将被打印出来。

-j
--sections

读取相对于 section 的偏移地址而不是绝对地址

-p
--pretty-print

使输出更人性化:每个位置都打印在一行上。如果指定了option -i,则所有封闭范围的行都以(内联)作为前缀。

-r
-R
--recurse-limit
--no-recurse-limit
--recursion-limit
--no-recursion-limit

启用或禁用在分解字符串时执行的递归数量限制。由于名称修饰格式允许无限级别的递归,因此有可能创建字符串,其解码将耗尽主机上可用的堆栈空间,从而触发内存故障。该限制试图通过将递归限制为2048个嵌套级别来防止这种情况发生。

默认情况下,该限制是启用的,但为了处理真正复杂的名称,可能需要禁用它。但是请注意,如果禁用递归限制,则堆栈耗尽是可能的,并且任何关于此类事件的错误报告都将被拒绝。

-r 参数表示 --no-recurse-limit 选项; -R参数表示 --recursion-limit 选项.

注意, 这个选项仅在 -C 或 --demangle 参数启用时生效.

@file

从文件中读取命令行选项。选项read被插入到原来的@file选项的位置。如果文件不存在,或者无法读取,那么该选项将被按字面处理,而不会被删除。
file中的选项以空格分隔。通过将整个选项用单引号或双引号括起来,可以将空白字符包含在选项中。任何字符(包括反斜杠)都可以通过在要包含的字符前加上反斜杠来包含。文件本身可能包含额外的@file选项;任何这样的选项都将被递归地处理。

SEE ALSO

binutils的信息条目。

版权

版权所有© 1991-2022自由软件基金会,Inc。

在GNU自由文档许可证1.3版或自由软件基金会发布的任何更新版本的条款下,被授予复制、分发和/或修改本文档的许可;没有固定章节,没有封面文本,也没有封底文本。该许可证的副本包含在题为“GNU自由文档许可证”的部分中。

binutils-2.38 2023-06-04 ADDR2LINE(1)

相关文章:

linux手册翻译 addr2line

名称 addr2line 将地址转换为文件名和代码行数 简介 addr2line [-a|--addresses][-b bfdname|--targetbfdname][-C|--demangle[style]][-r|--no-recurse-limit][-R|--recurse-limit][-e filename|--exefilename][-f|--functions] [-s|--basename][-i|--inlines][-p|--pretty-…...

python-素数中的等差数列

题目描述 质数是在数论中很有意思的数,有很多题都可以围绕它来出,就如你眼前所见的这道题。 给定一个闭区间 [a,b] ,将此范围内的所有素数进行从小到大排序,对于连续的素数,我们可以发现很多等差数列(元素个数大于等于 3 )&#x…...

Unity3D 服务器AStar寻路客户端位置同步显示验证详解

在游戏开发中,经常需要在服务器和客户端之间同步玩家的位置信息,以便其他玩家可以看到他们的移动。本文将详细介绍如何在Unity 3D中使用AStar算法进行路径规划,并在服务器和客户端之间同步玩家的位置信息。 对惹,这里有一个游戏开…...

无人机之悬停精度篇

无人机的悬停精度是指无人机在无GPS信号或其他外部定位辅助下,能够保持在一个固定空间位置时的精度。这一精度受到多种因素的影响,包括但不限于风速、气压、温度、湿度以及无人机自身的姿态稳定性等。以下是对无人机悬停精度的详细分析: 一、…...

力扣题解2848

大家好,欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述(简单): 与车相交的点 给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i,nums[i] [starti, endi] &…...

电子电气架构---智能汽车应该是怎么样的架构?

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不…...

无心剑七绝《中秋相思》

七绝中秋相思 中秋月满意深长 百代江阳老窖香 莫道天涯情不尽 相思寸寸赋华章 2023年9月29日 平水韵七阳平韵 这首诗七绝《中秋相思》由无心剑所作,以其深情的笔触描绘了中秋夜的相思之情。 诗中首句“中秋月满意深长”即以中秋圆月为起点,勾勒出了一幅…...

Python画笔案例-051 绘制赵爽弦图

1、绘制赵爽弦图 通过 python 的turtle 库绘制 赵爽弦图,如下图: 2、实现代码 绘制 赵爽弦图,以下为实现代码: """赵爽弦图.py本程序演录了如何自定义形状,如何把它添加到造型字典。赵爽弦图是用来证明…...

SEGGERS实时系统embOS推出Linux端模拟器

SEGGER 发布了两个新的 embOS 仿真模拟器:embOS Sim Linux 和 embOS-MPU Sim Linux。 通过模拟 Linux 主机系统上的硬件,取代物理硬件,为开发人员提供了一种无缝的方式来构建原型和测试应用程序。 embOS Sim Linux 端口支持 32 位和 64 位系…...

HTML + CSS - 网页布局之一般布局浮动布局

1. 一般布局 1.1 一般布局相关参数 元素内容常常可以想像为放在一个盒子里,然后在周边加上内边距,边框和外边距,是盒子模型 默认一个块级区域会填充父类所有的行向空间,并且沿着块伸长容纳其内容,可以为块状体设置某…...

python定时任务,定时爬取水质和天气

定时爬取水质和天气 代码 代码 from apscheduler.schedulers.background import BackgroundScheduler import requests import datetimeurlweather "http://localhost:8000/CrwalingViewWeather" # 天气接口 urlwater "http://localhost:8000/CrwalingViewW…...

ARM驱动学习之基础小知识

ARM驱动学习之基础小知识 • sch原理图工程师工作内容 – 方案 – 元器件选型 – 采购(能不能买到,价格) – 原理图(涉及到稳定性) • layout画板工程师 – layout(封装、布局,布线&#xff0c…...

【字幕】恋上数据结构与算法之019动态数组07打印数组

是吧?什么意思呢?你看啊我们刚刚已经加了三个东西了,我现在希望能够打印一下这个速度,希望能把它里面所有元素打出来,那我们试一下,看它默认是怎么打,这个时候我们右击你会发现它打出来长这样子…...

Python基础语法(3)下

列表和元组 列表是什么,元组是什么 编程中,经常需要使用变量,来保存/表示数据。变量就是内存空间,用来表示或者存储数据。 如果代码中需要表示的数据个数比较少,我们直接创建多个变量即可。 num1 10 num2 20 num3…...

数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例

时间序列概况在日常生活和专业研究中都很常见。简而言之,时间序列概况是一系列连续的数据点 y(0), y(1), …, y(t) ,其中时间 t 的点依赖于时间 t-1 的前一个点(或更早的时间点)。 在许多应用中,研究者致力于预测时间序列概况的未来行为。存在各种建模方法。这些模型通常基于过…...

XML_Tomcat_HTTP

第四章 XML_Tomcat10_HTTP 一 XML XML是EXtensible Markup Language的缩写,翻译过来就是可扩展标记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义格式。但这不代…...

GPT Prompt

Reference https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-apihttps://platform.openai.com/docs/guides/prompt-engineeringbilibili 8分钟系统学习提示工程,别再说大模型还不够聪明!Prompt Engineering,提示词,Few…...

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步…...

【字幕】恋上数据结构与算法之014动态数组02接口设计

申请表数组英文单词叫away,而这个数组是怎么样的申请表?数组是一种顺序存储的申请表,什么叫顺序存储?就是数组里面的所有元素,它的内存地址是连续的,大家的内存是连续的,比如说举个例子&#xf…...

ffmpeg硬件解码一般流程

流程 根据硬件名称,查询是否是支持的类型 const char *device_name "qsv"; //cuda enum AVHWDeviceType type av_hwdevice_find_type_by_name(device_name); if(type AV_HWDEVICE_TYPE_NONE) {//如果一个硬件类型是不支持的,打印所有支持…...

微信支付开发-程序开发

一、操作流程图 二、后端代码实现 1、题库实现 a、列表、所有、详情、保存、启禁用、导入答题 b、获取奖品信息、保存奖品信息、 class Question extends Base {// 列表public function getList(){$param $this->request->param();$where [];if(!empty($param[title])…...

【数据结构】排序算法系列——堆排序(附源码+图解)

堆排序 堆排序基于一种常见的**[[二叉树]]结构**:堆 我们前面讲到选择排序,它在待排序的n个记录中选择一个最小的记录需要比较n一1次。本来这也可以理解,查找第一个数据需要比较这么多次是正常的,否则无法知道它是最小的记录。 …...

Linux——应用层自定义协议与序列化

目录 一应用层 1再谈 "协议" 2序列化与反序列化 3理解read,write,recv,send 4Udp vs Tcp 二网络版本计算器 三手写序列和反序列化 四进程间关系与守护进程 1进程组 1.1什么是进程组 1.2组长进程 2会话 2.1什么是会话 2.2会话下的前后台进程 3作业控…...

CGAL 从DSM到DTM-建筑物区域提取

CGAL 从DSM到DTM-建筑物区域提取 生成的DSM被用作DTM计算的基础,即地面表示为过滤掉非地面点后的另一个TIN。主要是去除一些建筑物和植被非地形点。 建筑物立面及连通区域提取 建筑物立面的特征是三角形面片的高度变化剧烈。 通过遍历每一个三角面片,…...

Python--编码解码报错

报错问题 错误信息 UnicodeDecodeError: gbk codec cant decode byte 0xac in position 2: illegal multibyte sequence 通常出现在尝试使用 GBK 编码解码某些二进制数据时,但数据中包含了无法被 GBK 解码的字符。具体错误提示是解码器在处理某个字节时发现该字节无…...

大屏可视化常用图标效果表达

1-echarts-雷达图 2-echarts-仪表盘 3-echarts-水球图(利用插件,echarts-liquidfill) 4-element UI tree 添加连接线,修改样式或使用插件(element-tree-line) 5-echarts-漏斗图 6-echarts-饼状图嵌套 optio…...

高通Liunx 系统镜像编译

本文将会介绍如何在编译高通Liunx代码, 具体可以在高通 Linux | 高通下查看相关信息。 编译服务器配置 首先,准备一台Ubuntu 22.04版本主机或者服务器 1,编译Yocto 系统,需要如下一些配置 sudo apt update sudo apt install repo gawk wg…...

105、解析Java中1000个常用类:StringTokenizer类,你学会了吗?

在线工具站 推荐一个程序员在线工具站:程序员常用工具(http://cxytools.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。程序员资料站 推荐一个程序员编程资料站:程序员的成长之路(http://cxyroad.com),收录了一些列的技术教程…...

虚幻引擎 | 实时语音转口型 Multilingual lipsync

实时语音转口型:EPIC的metahuman sdk,NVIDIA的audio2face,都好。本文使用metahuman sdk 需要工具:Metahuman SDK网页账号,获取两日免费tokens https://space.metahumansdk.io/#/unauthorized ———————————…...

vue国际化

前言 现在的大公司都走国际化路线,我们应用程序也不例外。今天就在 Vue3 项目中整一个比较简单的国际化 背景 之前搞国际化的时候,也搜索了很多帖子,但是没有一个可以完整的实现。今天有空搞了一版,大家有什么问题欢迎留言探讨…...