iOS崩溃,未知原因

问题描述:

我正在使用iOS框架,一个应用程序崩溃。不知道问题出在哪里。基于日志,我认为一个对象正在手动释放,但随后是自动释放,再次导致崩溃。有没有人看到过这样的崩溃?不知道这是由我的框架还是使用它的应用程序引起的。iOS崩溃,未知原因

Crashed: com.apple.root.user-initiated-qos 
0 libobjc.A.dylib    0xfffffffff objc_object::release() + 8 
1 libobjc.A.dylib    0xfffffffff (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 724 
2 CoreFoundation     0xfffffffff _CFAutoreleasePoolPop + 28 
3 libdispatch.dylib    0xfffffffff _dispatch_client_callout2 + 12 
4 libdispatch.dylib    0xfffffffff _dispatch_apply_invoke_and_wait + 165 
5 libdispatch.dylib    0xfffffffff dispatch_apply_f + 650 
6 CoreFoundation     0xfffffffff -[__NSSetM enumerateObjectsWithOptions:usingBlock:] + 295 
7 MyFramework     0xfffffffff MyFunction + 18550 
8 MyFramework     0xfffffffff MyFunction + 18450 
9 libdispatch.dylib    0xfffffffff _dispatch_call_block_and_release + 24 
10 libdispatch.dylib    0xfffffffff _dispatch_client_callout + 16 
11 libdispatch.dylib    0xfffffffff _dispatch_queue_serial_drain + 928 
12 libdispatch.dylib    0xfffffffff _dispatch_queue_invoke + 884 
13 libdispatch.dylib    0xfffffffff _dispatch_queue_override_invoke + 344 
14 libdispatch.dylib    0xfffffffff _dispatch_root_queue_drain + 540 
15 libdispatch.dylib    0xfffffffff _dispatch_worker_thread3 + 124 
16 libsystem_pthread.dylib  0xfffffffff _pthread_wqthread + 1096 
17 libsystem_pthread.dylib  0xfffffffff start_wqthread + 4 
+2

你试过发生设置一个Exce ption断点还是使用了内存工具?因为这里没有足够的继续。 – Abizern

+0

是的,问题是我无法重现崩溃。从我的框架中列出的日志功能非常简单,这导致我相信它不是我的框架导致崩溃。我希望有人会熟悉objc_object :: release()和(匿名命名空间):: AutoreleasePoolPage :: pop(void *)调用。 –

+0

也许你试图重现崩溃并获得序列使其崩溃,然后只有您可以正确调试它。 – GeneCode

当你看到在堆栈_dispatch_root_queue_drain崩溃跟踪它意味着一些块已经在该队列已经执行,自动释放池被耗尽

你需要检查对象的任何内存泄漏被释放这样的碰撞时,在线程中执行块,但正与新对象发行再次调用,所以尝试检查下面的链接,它可以帮助也许它因内存问题和对象重新释放

https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/EradicatingZombies.html