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

通过Android Logcat分析firebase崩溃

参考:UnityIL2CPP包Crash闪退利用Android Logcat还原符号表堆栈日志 - 简书

一、安装Android Logcat插件

1、新建空白unity工程,打开PackageManager窗口,菜单栏Window/PackageManager

2、PackageManager中安装Android Logcat日志工具

3、安装AndroidLogcat完成

二、获取Create symbols.zip中的libil2cpp.sym.so文件

1.打包

在出包时勾选Create symbols.zip选项,在PlayerSettings面板中,出包选项从mono切换到il2cpp,然后Build包

出包完成,目录会有一个apk和一个zip的符号表压缩包

三、获取libunity.sym.so文件

在Unity编辑器中,libunity.sym.so文件通常位于Unity安装目录下的Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Symbols文件夹中。

具体路径是:{Unity安装目录}\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Symbols

请注意,这个路径是基于默认的Unity安装目录,并且可能因为不同的Unity版本或自定义安装路径而有所变化。如果你的Unity安装目录有所不同,你可以通过搜索文件名或在Unity编辑器中使用"Reveal in Finder"(在资源视图中右键点击文件,选择"Show in Explorer")等选项来找到libunity.sym.so文件的确切位置。

四、Crash日志解析

1.菜单栏打开AndroidLogcat工具,Window/Analysis/AndroidLogcat

2.配置符号表

右上角,点击Tools,点击Stacktrace Utility

点击Configure Symbol Path,然后弹出的配置界面点击+号

点击Pick Custom Location,选择刚刚解压的符号表文件夹

3.崩溃堆栈格式

找到一个firebase上的崩溃堆栈:

Fatal Exception: Tombstone: Version '2019.4.40f1 (ffc62b691db5)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'armeabi-v7a'
Build fingerprint: 'TECNO/BE8-RU/TECNO-BE8:12/SP1A.210812.016/230105V142:user/release-keys'
Revision: '0'
ABI: 'arm'
Timestamp: 2024-01-24 10:11:45+0400
pid: 20495, tid: 20628, name: UnityMain  >>>  <<<
uid: 10182
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
Cause: null pointer dereferencer0  00000000  r1  00000000  r2  00000002  r3  00000001r4  06eca250  r5  44fb7fd0  r6  6eaf1af5  r7  00000020r8  7a5c083c  r9  a7e97710  r10 00000000  r11 7a5c07e0ip  7a5c0740  sp  7a5c07d0  lr  aabb9191  pc  5a864344#00 pc 0x1322344 libil2cpp.so (libil2cpp.0x1322344)
#01 pc 0x1322158 libil2cpp.so (libil2cpp.0x1322158)
#02 pc 0x1321f00 libil2cpp.so (libil2cpp.0x1321f00)
#03 pc 0x1321cf4 libil2cpp.so (libil2cpp.0x1321cf4)
#04 pc 0x1322690 libil2cpp.so (libil2cpp.0x1322690)
#05 pc 0x353445 libunity.so (libunity.0x353445)
#06 pc 0x35e337 libunity.so (libunity.0x35e337)
#07 pc 0x35db77 libunity.so (libunity.0x35db77)
#08 pc 0x35e043 libunity.so (libunity.0x35e043)
#09 pc 0x3542a9 libunity.so (libunity.0x3542a9)
#10 pc 0x3542c5 libunity.so (libunity.0x3542c5)
#11 pc 0x354461 libunity.so (libunity.0x354461)
#12 pc 0x4313bf libunity.so (libunity.0x4313bf)
#13 pc 0x43f191 libunity.so (libunity.0x43f191)
#14 pc 0xac07b base.odex (base.0xac07b)

AndroidLogcat可解析的崩溃堆栈格式为:

#xx  pc  32位地址(即8位16进制数,要去掉x,不足在前面补0)  /{ABI}/{xxx}.so

#00 pc 01322344 /arm/libil2cpp.so
#01 pc 01322158 /arm/libil2cpp.so
#02 pc 01321f00 /arm/libil2cpp.so
#03 pc 01321cf4 /arm/libil2cpp.so
#04 pc 01322690 /arm/libil2cpp.so
#05 pc 00353445 /arm/libunity.so
#06 pc 0035e337 /arm/libunity.so
#07 pc 0035db77 /arm/libunity.so
#08 pc 0035e043 /arm/libunity.so
#09 pc 003542a9 /arm/libunity.so
#10 pc 003542c5 /arm/libunity.so
#11 pc 00354461 /arm/libunity.so
#12 pc 004313bf /arm/libunity.so
#13 pc 0043f191 /arm/libunity.so

4.选择abi对应的符号表

ABI:arm=>armeabi-v7a        arm64=>arm64-v8a        (还有其他如x86、x86_64)

5.解析

相关文章:

通过Android Logcat分析firebase崩溃

参考&#xff1a;UnityIL2CPP包Crash闪退利用Android Logcat还原符号表堆栈日志 - 简书 一、安装Android Logcat插件 1、新建空白unity工程&#xff0c;打开PackageManager窗口&#xff0c;菜单栏Window/PackageManager 2、PackageManager中安装Android Logcat日志工具 3、安…...

【AI大模型】WikiChat超越GPT-4:在模拟对话中事实准确率提升55%终极秘密

WikiChat&#xff0c;这个名字仿佛蕴含了无尽的智慧和奥秘。它不仅是一个基于人工智能和自然语言处理技术的聊天机器人&#xff0c;更是一个能够与用户进行深度交流的智能伙伴。它的五个突出特点&#xff1a;高度准确、减少幻觉、对话性强、适应性强和高效性能&#xff0c;使得…...

【C语言刷题系列】水仙花数的打印及进阶

1.水仙花数问题 水仙花数&#xff08;Narcissistic number&#xff09;也被称为超完全数字不变数&#xff08;pluperfect digital invariant, PPDI&#xff09;、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数&#xff08;Armstrong number&#xff09; 水仙花数是指一个 3 位数&a…...

ICSpector:一款功能强大的微软开源工业PLC安全取证框架

关于ICSpector ICSpector是一款功能强大的开源工业PLC安全取证框架&#xff0c;该工具由微软的研究人员负责开发和维护&#xff0c;可以帮助广大研究人员轻松分析工业PLC元数据和项目文件。 ICSpector提供了方便的方式来扫描PLC并识别ICS环境中的可疑痕迹&#xff0c;可以用于…...

HCIA——29HTTP、万维网、HTML、PPP、ICMP;万维网的工作过程;HTTP 的特点HTTP 的报文结构的选择、解答

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…...

面试经典题---3.无重复字符的最长子串

3.无重复字符的最长子串 我的解法&#xff1a; 滑动窗口&#xff1a; 维护一个[left, right)的滑动窗口&#xff0c;其中[left, right - 1]都是不重复子串&#xff1b;每轮while循环都计算一个滑动窗口的无重复子串长度len&#xff0c;每轮也让right后移一步&#xff1b; 内部…...

使用Robot Framework实现多平台自动化测试

基于Robot Framework、Jenkins、Appium、Selenium、Requests、AutoIt等开源框架和技术&#xff0c;成功打造了通用自动化测试持续集成管理平台&#xff08;以下简称“平台”&#xff09;&#xff0c;显著提高了测试质量和测试用例的执行效率。 01、设计目标 平台通用且支持不…...

Java基础进阶02-xml

目录 一、XML&#xff08;可拓展标记语言&#xff09; 1.学习网站&#xff1a; 2.作用 3.XML标签 4.XML语法 5.解析XML &#xff08;1&#xff09;常见解析思想DOM 6.常见的解析工具 7.DOM4j的使用 8.文档约束 &#xff08;1&#xff09;概述 &#xff08;2&#xf…...

《开始使用PyQT》 第01章 PyQT入门 03 用户界面介绍

03 用户界面介绍 《开始使用PyQT》 第01章 PyQT入门 03 用户界面介绍 The user interface (UI) has become a key part of our everyday lives, becoming the intermediary between us and our ever-growing number of machines. A UI is designed to facilitate in human-co…...

HTML-列表

列表 abbr&#xff1a; li : list item ol : orderd list ul : unordered list dl : definition list dt : definition title dd : definition description 1.有序列表(order list) 概念&#xff1a;有顺序或侧重顺序的列表 <h2>要把大象放冰箱总共分几步</h2> &…...

OceanBase创建租户

租户是集群之上的递进概念&#xff0c;OceanBase 数据库采用了多租户架构。 集群偏部署层面的物理概念&#xff0c;是 Zone 和节点的集合&#xff0c;租户则偏向于资源层面的逻辑概念&#xff0c;是在物理节点上划分的资源单元&#xff0c;可以指定其资源规格&#xff0c;包括…...

Java中Integer(127)==Integer(127)为True,Integer(128)==Integer(128)却为False,这是为什么?

文章目录 1.前言2. 源码解析3.总结 1.前言 相信大家职业生涯中或多或少的碰到过Java比较变态的笔试题&#xff0c;下面这道题目大家应该不陌生&#xff1a; Integer i 127; Integer j 127;Integer m 128; Integer n 128;System.out.println(i j); // 输出为 true System.o…...

【Unity】粒子贴图异常白边问题

从PS制作的黑底&#xff0c;白光的贴图。放入Unity粒子中&#xff0c;拉远看会有很严重的白边&#xff0c;像马赛克一样。 材质使用&#xff1a;Mobile/Particles/Additive 经测试只使用一张黑色的图片&#xff0c;也会有白边。 解决方案&#xff1a; 关闭黑色底&#xf…...

bxCAN接收处理

接收处理 为了接收 CAN 消息&#xff0c;提供了构成 FIFO(First Input First Output) 的三个邮箱。为了节约 CPU 负载&#xff0c;简化软件并保证数据一致性&#xff0c;FIFO 完全由硬件进行管理。应用程序通过 FIFO 输出邮箱访问 FIFO 中所存储的消息。 有效消息 当消息依据…...

前端面试题-(浏览器内核,CSS选择器优先级,盒子模型,CSS硬件加速,CSS扩展)

前端面试题-(浏览器内核&#xff0c;CSS选择器优先级&#xff0c;盒子模型&#xff0c;CSS硬件加速&#xff0c;CSS扩展&#xff09; 常见的浏览器内核CSS选择器优先级盒子模型CSS硬件加速CSS扩展 常见的浏览器内核 内核描述Trident(IE内核)主要用在window系统中的IE浏览器中&…...

WEB前端标签的使用

图片标签 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><!-- img标签就是用来将图片显示在页面上的标签 --><img src"图片路径"><!-- 可用路径&#…...

739. 每日温度

提示给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输入: tempe…...

stm32F103C8T6简介及标准库和HAL库的区别

什么是单片机 单片机是一种集成电路芯片&#xff0c;把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O和中断系统、定时器/计数器等功能&#xff08;可能还包括显示驱动电路、脉宽调制电路、模拟多路转换电路、A\D转换器等电路&#xff09;集成到一…...

操作系统(3)---操作系统引导

在安装操作系统后&#xff0c;磁盘的分布如下&#xff1a; C盘是这个磁盘的活动分区&#xff08;又称主分区&#xff09;&#xff0c;安装了操作系统 开机过程如下&#xff1a; 1.计算机的主存由RAM和ROM组成&#xff0c;RAM关机数据消失&#xff0c;而ROM&#xff08;Basic In…...

Vue3+Ts:实现paypal按钮

Vue3Ts&#xff1a;实现paypal按钮 一、前端页面按钮实现第一步&#xff1a;下载paypal.js依赖第二步&#xff1a;引入要使用的vue页面&#xff0c;并调用。 二、实现逻辑研究第一点&#xff1a;了解下Buttons自带的style属性第二点&#xff1a;了解下Buttons自带的处理方法第三…...

.[Decipher@mailfence.com].faust 勒索病毒数据怎么处理|数据解密恢复

尊敬的读者&#xff1a; 随着网络技术的发展&#xff0c;勒索病毒已经成为数字时代中一种极具破坏性的威胁。[support2022cock.li].faust [tsai.shenmailfence.com].faust [Encrypteddmailfence.com].faust[Deciphermailfence.com].faust 勒索病毒是其中的一种&#xff0c;它以…...

【UE Niagara】制作星光飘落效果

效果 步骤 1. 新建一个Niagara系统 选择模板“Fountain” 这里命名为“NS_Flare” 打开“NS_Flare”&#xff0c;选中Sprite渲染器&#xff0c;设置材质为上一篇文章中&#xff08;【UE 材质】闪烁的星星材质&#xff09;制作的材质“M_Flare” 2. 由于要在Niagara中调整粒子的…...

SLAM初学

昨天组长布置了任务&#xff0c;要求看香港大学的一篇论文&#xff0c;一打开&#xff0c;好家伙&#xff0c;纯英文&#xff0c;直接翻译着看 几个读不懂的概念&#xff1a; 体素&#xff1a;体素是三维空间中的体积像素的简称。它类似于二维图像中的像素&#xff0c;但在三…...

腾讯云轻量应用服务器Docker如何一键搭建属于自己的幻兽帕鲁服务器?

幻兽帕鲁/Palworld是一款2024年Pocketpair开发的开放世界生存制作游戏&#xff0c;在帕鲁的世界&#xff0c;玩家可以选择与神奇的生物“帕鲁”一同享受悠闲的生活&#xff0c;也可以投身于与偷猎者进行生死搏斗的冒险。而帕鲁可以进行战斗、繁殖、协助玩家做农活&#xff0c;也…...

win10+elasticsearch8.12 安装教程

Elasticsearch是一种搜索引擎&#xff0c;本地安装完成之后&#xff0c;可使用其他编程语言&#xff08;例如python&#xff09;与elasticsearch建立连接&#xff0c;然后使用python脚本搜索elasticsearch中的数据 1下载 elasticsearch elasticsearch最新版官网下载链接 点击…...

经典面试题-死锁

目录 1.什么是死锁&#xff1f; 2.形成死锁的四个必要条件 3.死锁的三种情况 第一种情况&#xff1a; 举例&#xff1a; 举例&#xff1a; 第二种情况&#xff1a;两个线程 两把锁 举例&#xff1a; 第三种情况&#xff1a;N个线程 M把锁 哲学家进餐问题 1.什么是死锁&…...

mysql面试题合集-基础

前言 工作很忙&#xff0c;本质还是自己比较懒惰&#xff0c;很久没更新博客了。近期打算面试&#xff0c;换个工作环境&#xff0c;那就先从面试题开始吧&#xff0c;后续也会逐渐更新自己在工作中的一些经验感悟。接下来切入主题&#xff0c;由于长期做前台开发工作&#xf…...

点灯大师(STM32)

这段代码是用于STM32F10x系列微控制器的C语言程序&#xff0c;目的是初始化GPIOC的Pin 13为输出&#xff0c;并设置其输出高电平。以下是对代码的逐行解释&#xff1a; #include "stm32f10x.h" 这一行引入了STM32F10x设备的头文件&#xff0c;包含了用于STM32F10x系…...

@EnableEurekaServer

定义&#xff1a;EnableEurekaServer注解是Spring Cloud中的一个注解&#xff0c;用于将Spring Boot应用程序指定为Eureka服务器。 Eureka服务器是一个服务注册中心&#xff0c;也被称为发现服务器&#xff0c;管理和协调微服务。保存有关所有客户端服务应用程序的信息。 每个…...

Java中的接口

六. 接口 特性1 - 解决单继承 语法如下 interface A {public default void a() {} }interface B {public default void b() {} }// C 从 A, B 两个接口重用方法 a() 和 b() class C implements A, B {}解决之前的问题 public class TestInterface1 {public static void mai…...