我使用crashlytics来解决我的应用程序的崩溃,我目前正在使用Crashlytics版本:3.9.3。有些用户正在崩溃,我似乎无法在我的机器上重现。这是来自Fabric的日志:
Crashed: com.apple.root.default-qos
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x00004a4b9a43bec8
#37. Crashed: com.apple.root.default-qos
0 libobjc.A.dylib 0x7fff6b43d184 objc_release + 36
1 MyApp 0x10805ad2d __66-[AppManager getCountriesDelegate:]_block_invoke (AppManager.m:1412)
2 libdispatch.dylib 0x7fff6c006591 _dispatch_call_block_and_release + 12
3 libdispatch.dylib 0x7fff6bffed50 _dispatch_client_callout + 8
4 libdispatch.dylib 0x7fff6c00bc61 _dispatch_queue_override_invoke + 880
5 libdispatch.dylib 0x7fff6c000941 _dispatch_root_queue_drain + 515
6 libdispatch.dylib 0x7fff6c0006ed _dispatch_worker_thread3 + 101
7 libsystem_pthread.dylib 0x7fff6c2c31ca _pthread_wqthread + 1387
8 libsystem_pthread.dylib 0x7fff6c2c2c4d start_wqthread + 13
- (void) getCountriesDelegate:(id<AppManagerDelegate>)delegate
{
__weak __typeof(id<AppManagerDelegate>) weakDelegate = delegate;
__weak __typeof(self) weakSelf = self;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //my function definition
});
答案 0 :(得分:0)
有多种原因可以获得EXC_BAD_ACCESS KERN_INVALID_ADDRESS错误代码。 Appel's documentation说:
EXC_BAD_ACCESS / KERN_INVALID_ADDRESS - 这是由线程引起的 访问未映射的内存。它可以由数据访问触发 或取指令;线程状态部分描述了如何操作 说出不同之处。
你应该深入了解你的班级AppManager
。正如崩溃日志所说,崩溃发生在方法AppManager.m
中文件getCountriesWithRespectToPurposeAndFavoriteDelegate:
的第1412行。