如何解决Crashlytics:编译器生成是什么意思?
我正在使用Firebase Crashlytics从我的iOS应用程序获取崩溃报告,并且由于
当我查看堆栈跟踪时,我也得到了编译器生成的错误消息的一行或几行。
我一直在搜索,但是找不到发生此类崩溃的原因。在此特定示例中,这里是发生崩溃的函数(没有说明哪一行)。从我的观察中,我只能猜测这与以下事实有关:我正在使用另一个数组上的数组的索引,因此它可能超出范围...但我并不知道。
这使得修复崩溃真的非常困难,因为我只是可以假设我的代码可能有问题。另外,如果问题实际上出在索引范围之外,那么它不应该报告发生崩溃的行吗?我真的想更多地了解编译器生成的内容,而不是解决此实际崩溃:)
解决方法
由编译器生成意味着通过快速编译器将代码注入最终二进制文件中。这可能是展开的内联类型库函数,优化方面的内容等。屏幕快照上的崩溃日志仅显示失败执行堆栈的 top 调用,在大多数情况下,这不是您的代码行(虽然有原因),但是有一些标准函数调用(来自库或自动生成)。因此,您不仅要研究第一行,还要研究崩溃堆栈的完整追溯。
,不确定崩溃,但是您需要纠正一件事,您正在枚举subBookingsServices数组,并在其他数组service.subServices [index]中使用它的索引。
因此,如果subBookingsServices [10]和service.subServices的大小小于10,则肯定会崩溃。
但是理想情况下,Crashlytics中的堆栈跟踪应该显示它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。