Mac配置Android addr2line环境变量以及使用

news/2024/10/21 5:39:30/

1.首先进入终端

2.下面这个指令进入vim编辑器,就可以修改环境变量

vim ./.bash_profile

3.按i进入insert模式
在这里插入图片描述
4.输入路径:
arm32:

export PATH=${PATH}:/Users/xianquan/Library/Android/sdk/ndk/21.1.6352462/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin

arm64:

export PATH=${PATH}:/Users/xianquan/Library/Android/sdk/ndk/21.1.6352462/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin

这个addr2line路径就在你使用的ndk文件夹下面,具体可以参照我上面的路径

添加完以后,按esc退出insert模式,输入:wq 保存并退出,不保存直接输入:q
然后输入保存配置文件命令

source ~/.bash_profile

此时环境变量就配置好了

5.使用
配置好以后使用就比较简单了
在这里插入图片描述
在backtrace里找到自己使用的so包,系统的so包不用管。
我这里是libImageProcess_lib.so这个包。

arm-linux-androideabi-addr2line -C -f -e /Users/xianquan/AndroidStudioProjects/nt_800_-a/app/src/main/JNILibs/armeabi-v7a/libImageProcess_lib.so  00018c60  00019249

终端输入上面的命令 arm-linux-androideabi-addr2line后面加参数,参数后面是报错的so包物理地址
在这里插入图片描述
其中00018c60 00019249对应我上面的两个报错地址 ,同一个so包的错可以一个命令写完,中间要加空格隔开。
下面的cpp行数就是so包里报错的具体行数。

关于addr2line一些参数说明

-a --addresses:在函数名、文件和行号信息之前,显示地址,以十六进制形式。
-b --target=<bfdname>:指定目标文件的格式为bfdname。
-e --exe=<executable>:指定需要转换地址的可执行文件名。
-i --inlines : 如果需要转换的地址是一个内联函数,则输出的信息包括其最近范围内的一个非内联函数的信息。
-j --section=<name>:给出的地址代表指定section的偏移,而非绝对地址。
-p --pretty-print:使得该函数的输出信息更加人性化:每一个地址的信息占一行。
-s --basenames:仅仅显示每个文件名的基址(即不显示文件的具体路径,只显示文件名)。
-f --functions:在显示文件名、行号输出信息的同时显示函数名信息。
-C --demangle[=style]:将低级别的符号名解码为用户级别的名字。
-h --help:输出帮助信息。
-v --version:输出版本号。

http://www.ppmy.cn/news/470080.html

相关文章

【python】四舍五入保留N位小数,截断保留小数

目录 一.环境 二.适用场景 三.具体方法代码及描述 1.方法一&#xff1a;numpy-around()方法&#xff0c;四舍五入 2.方法二&#xff1a;字符串格式化&#xff08;有两种方式&#xff0c;均为四舍五入&#xff09;【推荐】 1&#xff09;%.4f 法 2) {:.4f} 法 3.方法三…

彻底理解 linux 的内存回收

本文试图用最浅显的语言说明以下问题&#xff1a; 1、free 命令中的buffer/cache 是什么意思&#xff1f; 2、内存回收的机制是什么&#xff1f; 3、内存回收的门限是什么&#xff1f;也就是什么时候进行回收&#xff1f; 4、如何手动清除cache&#xff1f; 1、free 命令中的bu…

建立和使用Python自定义模块:打包+pip安装

文章目录 &#xff08;零&#xff09;拷目录-无法卸载&#xff08;一&#xff09;打包结构&#xff08;1.1&#xff09;__init__.py&#xff08;1.2&#xff09;setup.py &#xff08;二&#xff09;开始打包&#xff08;2.1&#xff09;命令出错&#xff1f; &#xff08;三&a…

全国各地所有高校名单数据库 全国所有高校排名

MYSQL 语句 /*Navicat MySQL Data Transfer Source Server : jianfengstudioSource Server Version : 50524Source Host : localhost:3306Source Database : school Target Server Type : MYSQLTarget Server Version : 50524File Encoding …

程序员的自我修养_之二_曾国藩的“大悔大悟”

江西的困顿与“大悔大悟” 一&#xff09; 湘军的意外崛起&#xff0c;使昏惨惨黄泉路近的大清王朝又看到了起死回生的希望。一时间&#xff0c;朝廷褒奖&#xff0c;绅民欢呼&#xff0c;曾国藩成了滔滔天下的中流砥柱。 按理说&#xff0c;此时的曾国藩应该会呼风唤雨、八面…

程序员的自我修养_之三_曾国藩与左宗棠

以前听罗胖的视频&#xff0c;有一期讲曾国藩的成功之道&#xff0c;开始真没当回事&#xff0c;但是后来无意间下载了张宏杰老师的《曾国藩的正面与侧面》&#xff0c;看得我爱不释手。和曾国藩同时代的名人比如左宗棠、胡雪岩、李鸿章等很多都是草根起来的。甚至后者的名称比…

全国民办普通高校名单

全国民办普通高校名单&#xff08;截至2009年6月19日&#xff09;&#xff08;共334所&#xff09;序号学校名称主管部门所在地层次1北京城市学院北京市教委北京市本科2北京科技经营管理学院北京市教委北京市专科3北京经济技术职业学院北京市教委北京市专科4北京经贸职业学院北…

java实现获取中国大学名称列表、即所在省份

全栈工程师开发手册 &#xff08;作者&#xff1a;栾鹏&#xff09; java教程全解 java实现获取中国大学名称列表、即所在省份 public static Map<String,String []> allschool new HashMap<String,String[]>(); //用于存放省份&#xff0c;学校public static …