首页 > 解决方案 > xcode 12.4升级导致的objc内存和线程崩溃

问题描述

在过去的几周里,我一直在尝试解决看似随机出现的崩溃问题。我相信这与使用 12.3 中的 xcode 12.4 创建的构建相吻合。我的同步操作因内存崩溃而开始崩溃EXC_BAD_ACCESS

我正在使用 NSOperationQueue。我试过使用僵尸对象,但因为错误在block我看不到它们。

我的线程看起来像这样:

崩溃时的应用程序线程状态

队列视图说developerSubmittedBlockToNSManagedObjectContextPerform

有没有人对可能导致问题的原因提出建议?或者其他方法来追踪它?谢谢

标签: iosobjective-cxcodensoperationqueue

解决方案


对于可能有类似问题的任何人,我们最终将问题追溯到数据库链接的核心数据问题。

我们的数据库实体之间缺少一些反向关系。领先的理论是,由于不存在关系,系统将取消分配上下文。这将引发无用的线程问题。

这些关系多年来一直处于这种状态,我们认为在最近的 excode 更新中,内存管理系统可能已经更新,从而暴露了这个问题。


推荐阅读