项目上线后在bugly后台收集到一些c#的错误日志,如下所示:
可以看到堆栈信息,但看不到具体的行号,这对于一个函数中有多行代码的逻辑来说只能说帮助有限.
在unity社区发现目前并不支持release发布的l2cpp的版本显示行号,于是我尝试改为develop+mono进行打包测试,结果如下:
这次可以正常显示行号了,为了确认是develop+mono才能正常显示,我又试了试release+mono,结果如下:
跟release+l2cpp有点类似,可以看到堆栈,但仍然看不到行号,只是堆栈地址不再是00000000000,而变成aa376b8e5f9f41dbbb82909ca4c277f4了
目前googleplay必须用l2cpp打64位包进行上传,因此也不再深究这个堆栈地址有什么意义了.
总结:目前要想在bugly中看到c#异常的堆栈信息和明确的行号,必须使用develop+mono版进行打包,否则是看不到的.
- 目前无法获得具体行号,只知道哪个函数里的某行逻辑出错了,目前能做的只有把这个函数里的逻辑进行拆分,拆到多个函数里逐个调用,每个函数尽量保持最小切分粒度,然后放线上等下次报错了,无奈.
好消息:unity官方说正在开发release+l2cpp版提供明确出错行号的功能,预计会在unity2020的某个版本里发布,参考链接如下:
https://forum.unity.com/threads/file-and-line-numbers-in-stack-trace.367958/
来源:CSDN
作者:CraneInForest
链接:https://blog.csdn.net/wanzi215/article/details/104225703