2016-09-19 65 views
0

我得到了一個EXC_BAD_ACCESScode=1因爲這樣一行:EXC_BAD_ACCESS碼= 1,因爲@ {}的

NSDictionary* params = @{}; 

我沒有創建這個項目,但我注意到,有鏈接到一個c++庫,並有建立非默認設置(設置由XCode生成)。如果我改變這條線

NSDictionary* params = [NSDictionary new]; 

問題沒有了。這可能與編譯器的設置project's build setting有關嗎?

+0

這條線完全適用於自己。它使用簡短的語法創建一個空的,不可變的字典。沒有更多的上下文(它發生在應用程序啓動,用戶交互?)和更多的代碼,沒有辦法告訴出了什麼問題。 – Losiowaty

+0

我更新了問題,它不會在應用程序啓動時發生,呼叫確認在主線程中。我更清楚地更新了這個問題。 – jAckOdE

回答

0

作爲評論說這個錯誤很可能在你的代碼中很深。如果罪魁禍首是殭屍,找到它的最簡單方法是在探查器中運行它(最好在最新的Xcode中,目前Xcode 8已經改進),並選擇「殭屍」。當它失敗時,你可以看到發生在對象上的所有事情的歷史。

另外,設置一個異常斷點。當錯誤發生時,你可能會休息一下,而不是在主要的地方,那裏的異常會被傳出。

+0

我確實希望你的回答有一個錯字。最新的Xcode是本月發佈的8號。 – Losiowaty

+0

最新的xcode應該是xcode 7(xcode 8即將推出)。我用更多的上下文更新了這個問題。 – jAckOdE

+0

https://developer.apple.com/download/ - Xcode 8於9月13日發佈。 – Losiowaty

相關問題