我间歇性地收到Crashlytics
报告并出现以下错误:
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0000000e
raw
libobjc.A.dylib
objc_msgSend + 5
1
UIKit
-[UICollectionViewUpdate _computeItemUpdates] + 1588
2
UIKit
-[UICollectionViewUpdate initWithCollectionView:updateItems:oldModel:newModel:oldVisibleBounds:newVisibleBounds:] + 254
3
UIKit
-[UICollectionView _endItemAnimations] + 6904
4
UIKit
-[UICollectionView performBatchUpdates:completion:] + 386
我该如何调试?崩溃似乎是UICollectionView
的内部。这是否意味着崩溃是Apple SDK内部的?
答案 0 :(得分:0)
您可以添加带有-[UICollectionViewUpdate _computeItemUpdates]
的符号断点作为值。无论何时调用该方法,您都能够导航堆栈跟踪并(希望)在崩溃之前查看代码的哪一行是最后一次调用。
这种方法的缺点是你可能会遇到许多没有发生崩溃的暂停,但它会让你知道它来自哪里。一旦在代码中找到崩溃的来源,取消设置断点并更改值或设置与单元格相关的内容,直到可以导致崩溃发生。
这通常是我从Flurry的崩溃报告中追踪崩溃的方法。半年前你问这个问题,如果你找到了一个跟踪这些类型的bug的解决方案,如果你分享了我会很感激:)