Unity移动应用如何在Bugly上查看崩溃堆栈

一、使用Bugly对移动应用进行崩溃监控

Unity项目中接入了腾讯的Bugly,通过Bugly后台,我们可以对移动应用进行异常监控、崩溃分析等。
Unity移动应用如何在Bugly上查看崩溃堆栈

Bugly官网: https://bugly.qq.com/v2/index
腾讯 Bugly,是腾讯公司为移动开发者开放的服务之一,面向移动开发者提供专业的 Crash 监控、崩溃分析等质量跟踪服务。Bugly 能帮助移动互联网开发者更及时地发现掌控异常,更全面的了解定位异常,更高效的修复解决异常。

二、我们看到的崩溃堆栈

1、Java崩溃

这种情况我们可以比较完整的看到java的调用堆栈,比较好定位问题。
Unity移动应用如何在Bugly上查看崩溃堆栈

2、Native崩溃

这种情况的奔溃,如果没有上传符号表,我们看到的堆栈信息就是这样的
Unity移动应用如何在Bugly上查看崩溃堆栈
蓝色的部分就是崩溃的地方,没有符号表,我们是看不到具体是哪个文件哪一行异常。

关于符号表
符号定义的本质是:指被分配了存储空间。如果是函数名则指代码所在区;如果是变量名则指其所在的静态数据区。
所有定义的符号的值就是其目标所在的首地址。

根据上面的信息,是在libunity.so中崩溃的,我们需要上传libunity.so的符号表。
这个libunity.soUnity的引擎库,它的符号表在Unity安装目录中,具体位置如下:
Unity移动应用如何在Bugly上查看崩溃堆栈
具体哪个,要看具体的平台(比如AndroidiOS)、编译后端(比如il2cppmono)、发布环境(比如DevelopmentRelease)。
我们将符号表上传到Bugly
Unity移动应用如何在Bugly上查看崩溃堆栈
Unity移动应用如何在Bugly上查看崩溃堆栈
上传完符号表,我们就能看到清晰的调用堆栈了,如下
Unity移动应用如何在Bugly上查看崩溃堆栈