這是一個遠射,因爲谷歌搜索沒有返回任何內容。有時候,往往不夠的地方值得進一步調查,但不是經常不夠,我可以追查的時候,或者它究竟是如何發生的,我得到下面的異常,當我打電話上一個NSManagedObjectContext
:無法識別的核心數據保存選擇器異常
-[_NSObjectID_48_0 _stateFlags]: unrecognized selector sent to instance 0x8675570
的背景是孩子上下文類型爲NSPrivateQueueConcurrencyType
,它是NSMainQueueConcurrencyType
類型的主要上下文的子節點。
我真的沒有比堆棧跟蹤其他任何進一步的信息:
任何密碼學家能做出什麼出格的堆棧跟蹤變出一些可能的想法,問題可能是什麼?
鑑於發生這種情況 - 在「驗證」 - 它會導致我認爲一些託管對象有一個「驗證」的方法,並試圖發送「stateFlags」的一些其他對象。你有權訪問代碼或模型嗎?你可以搜索源代碼嗎?您可以在方法「stateFlags」上設置一個斷點並「捕捉」發送它的對象。 –
這些消息的問題是,很難找出問題出在哪裏。我發現嘗試打印「實例0x ....」看看是否看起來很熟悉通常會有所幫助;在gdb中做「po(NSObject *)0x8675570」。如果你幸運的話,你可以重新設計一個你的對象,然後找出你將它傳遞給你不應該傳遞給它的東西,或者你必須添加一些東西使它符合某些東西。 –
@DavidH我的任何對象都沒有自定義的驗證方法,上面看到的所有驗證方法都是內部的。即使它不在我的代碼中,是否仍然有辦法在某處設置斷點? @ ChristianStieber好吧,我必須等到下一次我從現在開始出現這個崩潰時,我真的不能重現它。它只是來來去去。我如何使用LLDB打印對象? – Snowman