2011-11-09 62 views
39

我展示的代碼對這個問題,例如目的原因,但實際上我的問題是:我應該如何跟蹤和了解SIGABRT錯誤?我讀了這個問題:sigabrt with no error message,但我不認爲這涉及到我的問題。如何追查SIGABRT

我將在下面顯示的例子顯然不是廈門國際銀行的問題,在此之前的時間越來越SIGABRT似乎更多地與未處理的異常。我曾嘗試使用GDB的bt,但這沒有幫助。是否沒有更全面的轉儲來查看?我也用NSZombie,但我真的不知道如何使用它,所以如果這是你的回答,請提供有關如何我應該從它那裏得到相關的數據鏈接到文檔。

這是我的例子:我試圖使用核心數據。我的項目最初並沒有設置它,所以我不得不手動添加它,這是通過進入我的項目>構建階段>鏈接二進制文件庫>單擊加號並添加CoreData.framework

然後I通過轉到文件>新建>數據模型創建我的數據模型。我創造了相當多的屬性,這就是它

在那之後,我加入了適當的方法來應用程序的委託(我通過創建與核心數據一個新的項目,然後複製在方法這樣做):

//code removed, as its not needed for the question/answer 

在此之後我只是試圖值保存到管理對象(再次,代碼從默認實現複製一個新項目):

//code removed, as its not needed for the question/answer 

但我得到的,當我執行addTime方法是SIGABRT錯誤。當對象接收消息未實現

xcode error

+0

我重讀這一次,由於對其他評論上留下之前後。我可以理解,如果它不可讀,但特別是你有什麼問題。 –

+0

對不起說笑,我將通過和改變一些東西(英語從來沒有我的強項學科)我當然不想從回答,只是因爲他們沒有理解這個問題排除任何人。但如果這只是一些強迫症的事情,比「爲什麼我」 –

+0

哈哈你已經做到了。謝謝。就像我說過的,我在發佈後重新閱讀了這個文件,希望我不會再次遇到這個評論。我從來沒有寫過正確的東西。我從來沒有需要,所以這將是一個非常艱難的習慣,我打破了,但在未來,我會嘗試。 –

回答

71

SIGABRT上升。您的應用有多少條警告?嘗試瀏覽它們並找到警告你的「某些對象可能不響應某個選擇器」,如果你從所有這些中清除你的應用程序,你很可能會正確地工作。

編輯:下面從評論答案是非常有幫助的:

OK,這裏去重炮 - 你嘗試過使用斷點?打開 第六標籤項目中的資源管理器,在左下角自來水 + - >添加異常斷點 - >完成。這將添加一個異常處理程序,該程序將停止應用程序在該應用程序崩潰 的方法調用上。

編輯:自xCode 5.0起>您不再需要指定斷點正在創建時捕獲哪個異常。你只需要點擊+ - >添加異常斷點,你很好。

enter image description here

+0

我總共有4個(其中3個用於未使用的對象,第三個是不兼容的指針類型,其中沒有任何一個指示上面使用的任何類 –

+42

好的,這裏是重型火炮 - 你嘗試過使用斷點嗎?打開第六個標籤在你的項目資源管理器,在左下角點擊+ - >添加異常斷點 - >這樣做會增加一個異常處理程序,將停止對崩潰的應用程序非常方法調用您的應用程序 – Eugene

+0

謝謝你,我發現我的managedobject沒有,這確實有助於追蹤通用sigabrt錯誤。如果你有時間添加你的評論給答案,不要將它標記爲答案,但它真的是它的評論,它爲我做。 –