2011-11-28 146 views
0

安裝XCode 4.2後,我的舊應用程序無法運行。構建成功,但一旦模擬器嘗試運行的應用程序,我得到一個錯誤:線程1:編程接收到的信號SIGABRT錯誤

Thread 1: Program received signal SIGABRT 

它指向這條線在主函數代碼:

int retVal = UIApplicationMain(argc, argv, nil, nil); 

其他日誌比沒有錯誤:

(gdb) 

這是否與iOS 5中的autoreleasepool有關?在哪裏尋找錯誤?我懷疑這是一個代碼相關的問題,因爲我只是在舊的Xcode中運行這個應用程序。這是一款iPad應用程序。

+0

嘗試[創建異常斷點](http://stackoverflow.com/questions/4961770/run-stop-on-objective-c-exception-in-xcode-4)。 –

回答

0

去蓋設置 - >架構

嘗試設置有效的架構用於ARMv6

我認爲這將幫助你

+0

有效的體系結構設置爲「armv6 armv7」。我嘗試將架構更改爲armv6(目前爲「Standard(armv7)」),但運行該應用程序沒有成功?任何其他想法?謝謝 – Vad

+0

此外,體系結構只有一個默認設置'標準(armv7)',所以我手動添加了armv6和armv7。這是正確的嘗試?我應該以不同的方式做嗎? – Vad

0

不是主要的功能,因爲它的.. 你在GDB檢查是否有任何無法識別的選擇器或內存泄漏問題..

轉到xcode的產品按鈕 - >編輯方案 - >選擇運行(左手邊表的第二個單元格) - >選擇診斷 - >啓用殭屍對象....

更改此設置的清潔和運行您的項目後,您會崩潰

+0

謝謝。我剛剛做完。但是,除了我所描述的內容外,所有輸出窗口都不顯示任何新內容:(rdb)。很高興知道這一點,但。 – Vad

+0

此外,我只是添加返回到viewDidLoad以確保沒有方法正在運行,它不是代碼相關,錯誤仍然發生。所以這是目標或設置內的東西。還有什麼想法? – Vad

0

這的原因可能是this issue一個實例。也就是說,你有一個楔入的模擬器進程,你需要重新啓動你的機器清除它。