2010-11-23 113 views
0

「無法識別的選擇發送到實例」我有產生大量的調試「無法識別的選擇發送到實例」的錯誤在Release模式的非的應用程序。 你有什麼想法,哪裏可以成爲問題?在釋放模式,而不是在調試模式

感謝和問候,

+0

什麼選擇器和什麼類的實例? – JeremyP 2010-11-24 11:40:31

回答

1

你釋放了相同的SDK(10.6,10.5 ......)作爲你的調試模式?你可能正在調用一個只存在於10.6中的方法。但是,這應該產生一個警告。你是在關注警告而不是忽視它們?

+0

是的,這是相同的SDK。 – 2010-11-24 06:40:41

0

這可能是因爲你是在一個方式下鏈接了一個框架,而不是其他,確保當您在「所有配置」加你鏈接,你是框架。

+0

這是可能的東西....感謝指出它。 – 2010-11-24 06:41:39

1

如果釋放對象之前,你使用它完成,而另一個對象被在同一地址分配,發送用於舊的對象將會達到新的對象的消息,如果他們是不同類的,你會得到這個例外。

運行靜態分析儀(或更好,但打開它運行在您的構建設置每建)。靜態分析儀會告訴你這種性質更簡單的錯誤 - 「低垂果實」。

然後,運行在儀器的殭屍儀器應用程序。如果你仍然有這樣的錯誤(但是對於靜態分析器來說太複雜了),殭屍工具會在你將消息發送給一個應該死的對象時在時間線上放置一個標誌。然後你就可以開始從那裏搜尋錯誤了。重複,直到沒有更多的崩潰。

相關問題