wait_fences:未能收到回复:10004003
我继续收到此错误。它发生在我的应用程序启动时。我将如何调试这个问题。有什么方法可以让我观察 wait_fences,看看那里发生了什么。有什么方法可以查看哪些线程阻塞了什么?
感觉这个错误只不过是一个没有工具或信息进入或离开虚空的黑洞。
任何有调试此错误提示的人将不胜感激。
新的
我现在改变了我的线程,所有线程调用都通过这个方法集来完成所有的调度
注意:我也希望你们不要仅仅因为看到另一个关于这个问题的问题就投票结束我的问题。没有关于此错误的真实信息。我需要知道是什么导致了这个错误和/或如何调试它。不是常见的“将超级调用添加到您的 viewDidAppear 等。如果这些有帮助,我不会问这个问题。
+ (void) ensureDispatchOfBlock:(dispatch_block_t) block onQueue:(dispatch_queue_t) queue async:(BOOL) async{
if (dispatch_get_current_queue() == queue){
block();
}
else {
if (async){
dispatch_async(queue, block);
}
else {
dispatch_sync(queue, block);
}
}
}
+ (void) ensureDispatchOnMainThread:(dispatch_block_t) block async:(BOOL) async{
[self ensureDispatchOfBlock:block onQueue:dispatch_get_main_queue() async:async];
}
+ (BOOL) addBlock:(dispatch_block_t) block toQueue:(dispatch_queue_t) queue async:(BOOL) async {
if (!async && dispatch_get_current_queue() == queue){
return NO;
}
if (async){
dispatch_async(queue, block);
}
else {
dispatch_sync(queue, block);
}
return YES;
}