栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity接入Bugly+符号表待上传

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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_ProjectTempStagingAreasymbols中获取,也可以在出包时导出,设置界面如下,这样便可以在生成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:AndroidNDKandroid-ndk-r19toolchainsarm-linux-androideabi-4.9prebuiltwindows-x86_64bin>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:AndroidNDKandroid-ndk-r19toolchainsllvmprebuiltwindows-x86_64binaarch64-linux-android-addr2line.exe
set SymbolPath=D:DocumentsBuglyarmeabi-v7alibunity.sym.so

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

echo on
pause

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

D:AndroidNDKandroid-ndk-r19toolchainsllvmprebuiltwindows-x86_64bin>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:AndroidNDKandroid-ndk-r19toolchainsllvmprebuiltwindows-x86_64binaarch64-linux-android-addr2line.exe
set SymbolPath=D:DocumentsBuglyarm64-v8alibil2cpp.sym.so

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

echo on
pause

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

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901778.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号