试图修复崩溃:QuartzCore - CA :: release_objects(X :: List <void const * =“”> *)</void>

时间:2014-12-23 16:48:03

标签: ios crash ios8.1

我们的应用程序遇到了几次崩溃,想知道您是否有任何见解或有类似的经历。我已经在下面分享了崩溃日志信息。

运行iOS 8.1。我们已经通过仪器,静态分析仪运行它,并且仍在努力指出问题。

QuartzCore
CA::release_objects(X::List<void const*>*)

13
Crashed: Thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0042de0f48aa7488


Thread : Crashed: Thread
0  libobjc.A.dylib                0x0000000193debbdc objc_msgSend + 28
1  CoreFoundation                 0x0000000183561228 CFRelease + 524
2  QuartzCore                     0x0000000187788644 CA::release_objects(X::List<void const*>*) +         32
3  QuartzCore                     0x000000018778e498 -[CAAnimation dealloc] + 80
4  libobjc.A.dylib                0x0000000193df1724 (anonymous    namespace)::AutoreleasePoolPage::pop(void*) + 564
5  libobjc.A.dylib                0x0000000193df2754 (anonymous namespace)::AutoreleasePoolPage::tls_dealloc(void*) + 72
6  libsystem_pthread.dylib        0x00000001945fa3e0 _pthread_tsd_cleanup + 200
7  libsystem_pthread.dylib        0x00000001945fa0ac _pthread_exit + 140
8  libsystem_pthread.dylib        0x00000001945fb330 pthread_exit + 44
9  Foundation                     0x0000000184487000 -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:]
10 Foundation                     0x0000000184555c24 __NSThread__main__ + 1096
11 libsystem_pthread.dylib        0x00000001945fbe80 _pthread_body + 164
12 libsystem_pthread.dylib        0x00000001945fbddc _pthread_body

1 个答案:

答案 0 :(得分:0)

这里的问题是你在Core Animation没有预料到的对象上做了一个额外的发布,所以问题在你的代码中引入,但在动画框架进行清理阶段时会暴露出来。

要解决此问题,请使用性能分析。选择Allocations profiler,然后单击Launch Configuration for Heap Allocations下的记录引用计数。

然后,当遇到问题时,您将能够看到分配历史记录,并且一个版本将不会与您的某个源代码文件一起发布。