iOS崩溃,原因不明

iOS崩溃,原因不明,ios,objective-c,Ios,Objective C,我正在开发一个iOS框架,一个应用程序正在崩溃。不知道问题出在哪里。根据日志,我认为一个对象正在被手动释放,但随后被自动释放,再次导致崩溃。以前有人见过这样的撞车吗?不确定这是由我的框架还是使用它的应用程序引起的 Crashed: com.apple.root.user-initiated-qos 0 libobjc.A.dylib 0xfffffffff objc_object::release() + 8 1 libobjc.A.dylib

我正在开发一个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

当您在堆栈跟踪中看到带有
\u dispatch\u root\u queue\u drain
的崩溃时,这意味着某个块已经在该队列上执行,并且自动释放池正在被排空

您需要检查正在释放的对象的任何内存泄漏。当在线程上执行一个块时,会发生崩溃,但正在使用新的对象释放再次调用该块,因此请尝试检查以下链接。可能是由于内存问题和对象重新释放,这可能会有所帮助

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

您是否尝试过设置异常断点或使用内存工具?是的,问题是我无法重现这次崩溃。我的框架日志中列出的函数非常简单,这让我相信导致崩溃的不是我的框架。我希望有人熟悉objc_object::release()和(匿名名称空间)::AutoreleasePoolPage::pop(void*)调用。也许您尝试复制崩溃并获取使其崩溃的序列,然后只有您才能正确调试它。