android 分析so崩溃,分析libunity.so Release崩溃
最近一直在和Crash做斗争,一开始用了Bugsnag相当不错,后来经朋友推荐转用腾讯的Bugly,后台查询简直6。
偶尔发现会遇到libunity.so崩溃,如果是Development模式还好,adb log基本就能看的七七八八;如果是Release模式下就一堆地址,根本没法看。网上搜索了下相关信息,绝大多数都是自己编译的C++代码,利用ndk-stack去分析obj文件。但是对于Unity引擎本身来说,我们手头只有一个libunity.so,无法这么干。
直接上传符号表
ps. 要把libunity.sym.so压缩zip之后上传,直接的话Bugly不认…
objdump 导出
在官方论坛某个帖子里找到了答案:利用binutils工具包里的arm-eabi-objdump。
帖子里是说从NDK里找,但是我找了半天都没发现,最后机智的直接用万能的brew搞定…brew tap qiankanglai/embedded
brew install arm-none-eabi-binutils
cd /usr/local/Cellar/arm-none-eabi-binutils/2.23.2/bin
./arm-none-eabi-objdump -d /Applications/Unity/Unity.app/Contents/PlaybackEngines/AndroidPlayer/Variations/mono/Release/Libs/armeabi-v7a/libunity.so > libunity.txt
最后根据崩溃日志里的pc xxxx去搜索导出的符号信息即可…反正这种崩溃大多数时候都是Unity的锅,只能自己想办法规避了……
ps. 原来的thomaseichinger/embedded里面用的sha1已经被brew废弃了,我fork了一个出来并且改成了清华的源,不过只改了arm-none-eabi-binutils一个。
Update
今天wxp和我聊了下,发现新版本竟然Release直接带符号表了,就不用这么麻烦了…5.3.6 Release Notes里第一条是Android: Symbols for release libraries are now available in PlaybackEngines/AndroidPlayer/Variantions/*/Release/Symbols.
android 分析so崩溃,分析libunity.so Release崩溃相关推荐
- Android APP native 崩溃分析之 linker SIGBUS 崩溃
原文地址:https://caikelun.io/post/2019-05-31-android-app-native-crash-linker-sigbus/ 这是 Android APP nati ...
- 02.Android崩溃Crash库之App崩溃分析
目录总结 01.抛出异常导致崩溃分析 02.RuntimeInit类分析 03.Looper停止App就退出吗 04.handleApplicationCrash 05.native_crash如何监 ...
- 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 使用 addr2line 命令行工具查找动态库中的报错代码位置 )
文章目录 一.从 Tombstone 报错日志中查找报错动态库 二.addr2line 命令行工具使用 64 位动态库使用的 aarch64-linux-android-addr2line.exe 工 ...
- android应用内存分析,Android应用程序内存分析-Memory Analysis for Android Applications
Android应用程序内存分析 原文链接:http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html ...
- android 自定义相机源码,Android 自定义相机及分析源码
Android 自定义相机及分析源码 使用Android 系统相机的方法: 要想让应用有相机的action,咱们就必须在清单文件中做一些声明,好让系统知道,如下 action的作用就是声明action ...
- linux 内核部分崩溃,Linux 系统内核崩溃分析处理简介
Written by arstercz -2019-11-12 Linux 系统内核崩溃分析处理简介 背景说明 目前绝大多数的 Linux 发行版都会将 kdump.service 服务默认开启, 以 ...
- Android的logger机制分析
分析安卓的Logger机制 一.概述 Logger机制是在Android系统中提供的一个轻量级的日志系统,这个日志系统是以驱动程序的形式在内核空间实现的,在用户空间分别提供了Java接口和C/C++接 ...
- Android Binder Driver流程分析
Binder是Android中使用最为广泛的IPC框架,从实现的角度可以分为内核层和用户空间层,本文主要分析下Binder Driver在内核层的实现. Binder Driver初始化 1 2 3 ...
- Android安全:So分析
一.So简介 1.Android底层是Linux,Linux本身就是使用C/C++语言,Android使用了一个Dalvik虚拟机才使得应用程序开发使用Java语言: 2.Dalvik支持JNI编 ...
最新文章
- DSML:深度子空间相互学习模型(用于癌症亚型预测)
- “从A到I”智慧数据中心上海论坛
- C++ vector用法 基本用法
- MyBatisPlus条件构造器带条件更新update使用
- icf表格_ICF企业教练实践大奖案例——建立改变和拯救生命的教练文化
- python九九乘法表求和,平均数,最大值,最小值、金字塔、等边三角形
- AttributeError: ‘set‘ object has no attribute ‘items‘
- 【程序性能分析利器】Google Perf Tool 和 Valgrind 工具包简介
- 简 易 版 线 程 池 模 型 学 习
- C++——多进程并发与多线程并发
- 第二冲刺阶段工作总结10
- 如何在小数点前补0,new DecimalFormat(##0.00);
- Python学习教程:Python自动化测试框架需要学习哪些?
- centos yum源_Linux入门珍藏课件系列第一讲:YUM源(图文)
- flash动画入门篇
- c语言中的面积和体积计算器,C语言编程问题(面积计算器)——新手问题
- 万有引力的意思_详细解释万有引力的本质 - 物理 - 小木虫 - 学术 科研 互动社区...
- 苹果计算机取消用户名和密码进入不,苹果电脑怎么设置不用密码开机
- 事务的传播行为(讲得比较好)
- linux嵌入式在线升级,嵌入式linux Kernel 在线升级参考资料
热门文章
- 马化腾出售腾讯股份,四天套现近20亿港元;朋友圈发红包测试视频红包玩法...
- 实锤了?哪吒涉嫌抄袭起诉已立案:公布多张相似对比图
- 华为苏州人工智能研发基地揭牌 将容纳上万名工作人员
- 首次超过苹果!华为高端智能手机Q1国内市场出货量占48%
- 《复联4》首轮公映票房27.5亿美金 超《阿凡达》创纪录
- 从送快递转好到软件测试,自学三个月后,我拿到了12k?
- 从测试流程角度,阿里P8大佬对产品质量的一些总结思考...
- 贝叶斯网络模型具体作用
- oracle consistent gets,Oracle buffer cache理解之七——统计信息!
- 使用ffmpeg来探测GB28181的ps流