我們的團隊非常需要一些幫助,以解決我們面臨的以下問題,因爲它會阻止我們調試dispatch_async塊內的一些代碼。Xcode斷點在dispatch_async塊內不起作用
希望我會得到一些幫助或建議下一步做什麼。
我們面臨的問題是如下:
我們最近打了一個奇怪的問題,即在Xcode 6,我們是不是能夠在dispatch_async塊內打破。
- (void)viewDidLoad {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
BOOL setRtn = TRUE; //<- break point is set here but never break
//call to function
BOOL setFn = some_function();
});
}
- (BOOL) some_function()
{
BOOL test = YES; <- break point set here, breakpoint break!
return test;
}
什麼情況是,當我們在dispatch_async塊中的任何行內設置斷點,代碼永遠不會破裂,且破發點永遠不會奏效。但是,如果我們在由dispatch_async塊調用的函數內設置斷點,斷點就可以工作!
其他人是否面臨同樣的問題?
我們正在使用的Xcode 6.1和正在IOS8.1
請幫幫忙,一直在瘋狂試圖解決這個問題好幾天。
關於New Relic發生這種情況的任何想法?你的解決方案工作,我只是想知道爲什麼發生在第一位。 – jamez14 2015-07-21 14:35:53
除了完全刪除NR,您可以禁用dispatch_async的檢測工具,以便即使在dev中仍然可以獲得剩餘的監視。查看我的答案以獲取更多信息。 – dymocaptin 2015-08-11 22:36:15