IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity接入Bugly+符号表待上传 -> 正文阅读

[游戏开发]Unity接入Bugly+符号表待上传

参考链接:

Unity BuglySDK + 符号表接入_于子潇的博客-CSDN博客_bugly unity 符号表

Unity移动应用如何在Bugly上查看崩溃堆栈_linxinfa的专栏-CSDN博客_unity 崩溃堆栈

补充:

本人使用的Unity版本是2019.4.14,Bugly版本是1.5.3.

符号表的获取,由于项目中使用的是 il2cpp,所以需要用到 libil2cpp.sym.so 的符号表文件,该文件可以在项目的\Unity_Project\Temp\StagingArea\symbols中获取,也可以在出包时导出,设置界面如下,这样便可以在生成apk的文件夹下同时导出zip的符号表压缩包。

使用Bugly符号表上传工具,这里本人写的批处理文件如下,使用的话替换xxx对应的参数:

echo off

echo 配置Bugly参数

set BuglyAppId=xxxxx
set BuglyAppKey=xxxxxxxx
set PackageName=com.xxx.xxx
set VersionNum=1.0.0
set BuglyUploadJar=./buglyqq-upload-symbol.jar
set SymbolPath=./arm64-v8a

java -jar %BuglyUploadJar% -appid %BuglyAppId% -appkey %BuglyAppKey% -bundleid %PackageName% -version %VersionNum% -platform Android -inputSymbol %SymbolPath%

echo on

?测试崩溃代码如下,无限递归导致堆栈溢出崩溃:

    public void TestBugly1()
    {
       int value = 780000000;
       int square = value * value;
	   Debug.LogFormat("{0} ^ 3 = {1}", value, square);
       TestBugly1();
    }

上传符号表以后后台崩溃日志依然无法正常解析,如下图所示:

?只好使用手动解析的方式,测试中发现arm64位的测试机要对应使用64位的解析工具解析arm64-v8a的符号表才可以得到正确的堆栈信息,两个解析工具的目录不同。

32位对应的解析工具及指令:

D:\AndroidNDK\android-ndk-r19\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin>arm-linux-androideabi-addr2line.exe -f -C -e libil2cpp.sym.so 0xc6b8d8 0xc6b8f4

本人写成了批处理文件 parseCrash32.bat??如下:

echo off

echo Please set up parameters first.

set Addr2linePath=D:\AndroidNDK\android-ndk-r19\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android-addr2line.exe
set SymbolPath=D:\Documents\Bugly\armeabi-v7a\libunity.sym.so

%Addr2linePath% -f -C -e %SymbolPath% 0xc6fe24 0xc6fe40

echo on
pause

?64位对应的解析工具及指令:

D:\AndroidNDK\android-ndk-r19\toolchains\llvm\prebuilt\windows-x86_64\bin>aarch64-linux-android-addr2line.exe -f -C -e libil2cpp.sym.so 0xd09798

本人写成了批处理文件 parseCrash64.bat??如下:?

echo off

echo Please set up parameters first.

set Addr2linePath=D:\AndroidNDK\android-ndk-r19\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android-addr2line.exe
set SymbolPath=D:\Documents\Bugly\arm64-v8a\libil2cpp.sym.so

%Addr2linePath% -f -C -e %SymbolPath% 0xc6fe24 0xc6fe40

echo on
pause

解析以后得到正确的堆栈信息如下所示:

?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:29:43  更:2022-03-06 13:31:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 17:57:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码