【发布时间】:2015-10-29 15:19:38
【问题描述】:
我收到了来自Fabric 的崩溃,堆栈如下:
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 6806634868 objc_release + 20
1 libsystem_blocks.dylib 6813456656 _Block_release + 256
2 libobjc.A.dylib 6806640420 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 564
3 CoreFoundation 6529519172 _CFAutoreleasePoolPop + 28
4 UIKit 6605817924 _wrapRunLoopWithAutoreleasePoolHandler + 76
5 CoreFoundation 6530394704 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
6 CoreFoundation 6530382300 __CFRunLoopDoObservers + 360
7 CoreFoundation 6530383292 __CFRunLoopRun + 836
8 CoreFoundation 6529519780 CFRunLoopRunSpecific + 396
9 GraphicsServices 6682260900 GSEventRunModal + 168
10 UIKit 6606283712 UIApplicationMain + 1488
11 Spec 4297532060 main (main.m:15)
12 libdyld.dylib 6813280776 start + 4
我不知道为什么在(anonymous namespace)::AutoreleasePoolPage::pop(void*) 之后会是_Block_release。是否有可能将块添加到 autoreleasepool?如果可能,为什么该块在释放时崩溃而在调用时没有崩溃?
【问题讨论】:
-
尝试使用僵尸调试
-
@newacct 我们不知道这个错误何时以及为什么会发生。所以我无法通过使用僵尸的 Xcode 来调试它。
标签: ios block release nsautoreleasepool runloop