iOS - EXC_BAD_ACCESS com.apple.avkit.seekQueue 崩溃

Jon*_*hen 5 debugging xcode crash-reports ios avkit

我正在尝试调试我不知道原因的崩溃。不幸的是,我所拥有的只是我从 Crashlytics 中检索到的堆栈跟踪,并且几乎找不到我的应用程序导致这种情况发生的证据,因此很遗憾我无法提供任何具体的代码示例,我在这里发布纯粹是希望之前有人遇到过这种情况。

我在通过 Crashlytics 收集的所有相关崩溃堆栈跟踪中看到,它在名为“com.apple.avkit.seekQueue”的线程上崩溃。输出如下所示:

Crashed: com.apple.avkit.seekQueue
0  libobjc.A.dylib                0x18c3e17f4 objc_object::release() + 8
1  libsystem_blocks.dylib         0x18c86fa68 _Block_release + 160
2  libdispatch.dylib              0x18c81a9a0 _dispatch_client_callout + 16
3  libdispatch.dylib              0x18c828ad4 _dispatch_queue_serial_drain + 928
4  libdispatch.dylib              0x18c81e2cc _dispatch_queue_invoke + 884
5  libdispatch.dylib              0x18c828fa8 _dispatch_queue_override_invoke + 344
6  libdispatch.dylib              0x18c82aa50 _dispatch_root_queue_drain + 540
7  libdispatch.dylib              0x18c82a7d0 _dispatch_worker_thread3 + 124
8  libsystem_pthread.dylib        0x18ca23100 _pthread_wqthread + 1096
9  libsystem_pthread.dylib        0x18ca22cac start_wqthread + 4
Run Code Online (Sandbox Code Playgroud)

由于 Crashlytics,我看到的例外是 EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000020。由此我只能假设有一个 AVPlayer 对释放或受限的内存地址做了一些事情,但堆栈跟踪没有显示除主线程中的 main.m 之外的任何其他进入我的应用程序的入口点。

FWIW,Crashlytics 还建议以下内容:

堆栈跟踪表明堆损坏可能导致您的应用程序崩溃。释放悬空指针、线程竞争或错误的指针算法很容易导致内存损坏。要记住的重要一点是,最终的崩溃可能发生在初始损坏之后很久。因此,此崩溃的堆栈跟踪可能无法提供有关代码中错误位置的任何线索。

说了这么多,有没有人知道可能导致这种情况的原因,我如何调试它,或者即使它可能是 AVKit 的问题?