我在我的应用程序崩溃,这里是调用堆栈:
Crashed: com.apple.NSURLSession-work
0 libobjc.A.dylib 0x1829d17f4 objc_object::release() + 16
1 libsystem_blocks.dylib 0x18318ca5c _Block_release + 152
2 libdispatch.dylib 0x1830ecae4 _dispatch_client_callout + 16
3 libdispatch.dylib 0x1831297a8 _dispatch_continuation_pop$VARIANT$armv81 + 416
4 libdispatch.dylib 0x183132acc _dispatch_source_invoke$VARIANT$armv81 + 908
5 libdispatch.dylib 0x18312b074 _dispatch_queue_serial_drain$VARIANT$armv81 + 248
6 libdispatch.dylib 0x18312bad8 _dispatch_queue_invoke$VARIANT$armv81 + 328
7 libdispatch.dylib 0x18312c47c _dispatch_root_queue_drain_deferred_wlh$VARIANT$armv81 + 332
8 libdispatch.dylib 0x18313444c _dispatch_workloop_worker_thread$VARIANT$armv81 + 612
9 libsystem_pthread.dylib 0x18341fe70 _pthread_wqthread + 860
10 libsystem_pthread.dylib 0x18341fb08 start_wqthread + 4
我不知道如何复制这种崩溃,你有任何想法是什么可以导致这样的崩溃?
1条答案
按热度按时间dsekswqp1#
通常,release()中的崩溃是由释放无效对象引起的。这可能是由以下几个因素引起的:
奇怪的是,这涉及到一个块,它应该在块运行时由队列保留,所以除了手动保留-释放错误,这应该是不可能的,除非被释放的对象是块本身以外的东西(或者除非对该块的最后一次引用以某种方式同时从多个线程并发释放)。
剩下的是包含在你的块中的对象:
显然,没有足够的信息来肯定地说为什么你会经历这种崩溃,但这些是你应该寻找的一些东西。毫无疑问,还有一些我没有想到的。
希望能帮上忙。