簡體   English   中英

syscall_thread_switch iOS 8.3 競賽 - CocoaLumberjack 錯誤? 如何調試這個?

[英]syscall_thread_switch iOS 8.3 race - CocoaLumberjack bug? how to debug this?

我在我的應用程序中遇到了競爭條件,每當我暫停調試時,除了 1 個線程之外的所有或所有線程都卡在 syscall_thread_switch 上。 它在模擬器上重現的頻率更高,在 iPad Air 上也是如此。 總是至少有 2 個線程卡在 CocoaLumberjack 的 queueLogMessage 中:-請參閱屏幕截圖。

我以前從未在 8.1 和 8.2 上看到過這種情況,但我在 8.3 上經常遇到這種情況。 我並不是說這是一個 8.3 的錯誤 :)

這是我以前從未調試過的復雜程度,所以我不知道該怎么做。 我希望我提供了足夠的信息,如果您需要更多信息,請告訴我(如果不是很清楚,請具體說明如何獲取信息)。 你能幫我調試一下嗎?! 數以百萬計的感謝。

線程概述

線程詳細信息 1

線程細節2

主線位置

我在 iOS 8.3 的 NSOperationQueue 中遇到了類似的 NSOperations 問題(與 CocoaLumberjack 無關)。 我有並發操作創建自己的線程,這不再需要。 它在 8.2 中表現得非常好,但在 8.3 中則不然。

在 start 方法中,我簡單地替換了:

[NSThread detachNewThreadSelector:@selector(main) toTarget:self withObject:nil];

和:

[self main];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM