iphone - sigabrt沒有錯誤信息




objective-c ios (4)

我有一個奇怪的問題,我在主循環中得到一個Sigabrt,但沒有顯示錯誤消息,我在網上看了很多,但沒有設法找到有用的東西。 所以我的問題是,如何跟踪是什麼導致sigabrt沒有錯誤信息?

提前致謝。


你看過日誌嗎?

你有沒有試過在調試器中運行? 它應該停止,並給你一個堆棧跟踪時。 還可以嘗試在所有例外情況下設置一個斷點。


對於SIGABRT錯誤,運行調試,直到程序崩潰。 然後,應該在你的代碼編輯器上面有一個小小的黑色按鈕,文字“GDB”在黃色上方,在你的小型調試欄中。 點擊它,它會調出你的調試器控制台。 這應該顯示sig-abort報告,可能是一個警告,聲明它是由一個未處理的拋出的異常,所有嵌套的函數調用的堆棧跟踪,以及一個或多個消息處理具體出錯的消息引起的。

我不知道實際的啟動錯誤是怎麼回事,但是很可能你改變了你的代碼中被你的xib文件引用的一些類的名字,並且沒有改變Interface Builder中的引用。

只有當應用程序正在調用資源缺少的東西時才會出現此錯誤。

例如我有一個(IBAction)播放聲音,但聲音不再是應用程序的一部分。

檢查你的代碼中的所有被調用的資源,並確保它們仍然在你的xcode項目中。 即使在“界面”構建器中使用的圖像也可以生成SIGARBT。

這是一個令人討厭的錯誤,因為9/10次調試器不會告訴你什麼是錯的。


在我的情況下,我沒有正確處理異步調用和多線程,我沒有任何消息得到SIGABRT崩潰。

在這種情況下真的很難調試,但是一般的提示是使用回調來處理你的一系列操作。 不要同時做太多的動作,即使它們互不相關。


太長時間了,我以為控制台給了我XCode 8沒有任何信息,但後來我意識到我已經隱藏了控制台,需要再次顯示。

對於像我這樣被困在一個奇怪的大腦變形中的人來說:

  1. 按下該按鈕,看看XCode告訴你什麼壞了,修復它

  2. 再次享受生活!





ios4