_CFAutoreleasePoolPop崩溃 [英] Crash at _CFAutoreleasePoolPop
问题描述
我从Fabric
崩溃,堆栈在下面:
I got a crash from Fabric
,the stack is below:
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中添加了一个块?如果可能,为什么该块在发布时崩溃而在调用时没有崩溃?
I don't know why it would be _Block_release
after (anonymous namespace)::AutoreleasePoolPage::pop(void*)
. Is it possible that a block was added to autoreleasepool?if possible, why the block crashed at release and it not crashed at invoke?
推荐答案
好,我已经解决了这个错误.崩溃的原因是我为NSMutableArray钩上了objectAtIndex
函数.如果用户从后台切换,该应用程序将崩溃-[UIKeyboardLayoutStar release]: message sent to deallocated
.
Ok,I had resolve this bug.The reason for the crash was that I had hook the function objectAtIndex
for NSMutableArray.And If user switch from background,the app would get a crash -[UIKeyboardLayoutStar release]: message sent to deallocated
.
因此删除钩子代码将解决此错误.
So remove the hook code will resolve this bug.
这篇关于_CFAutoreleasePoolPop崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!