2011-09-28 190 views
1

我的應用程序在重複某些操作序列幾次後崩潰了,通常在一個內存級別觸發後發生,並且總是在其中一個視圖正在加載。這個問題不能在模擬器中重現。iOS應用程序在沒有崩潰信息的設備上崩潰

每次執行時都有輕微的內存泄漏,但內存使用率很低(如分配和泄漏所示)。我已經精簡了代碼,但問題依然存在。

問題在於調試問題,因爲控制檯中沒有消息並且沒有崩潰日誌。

有什麼建議嗎?

+0

可能重複的[崩潰日誌沒有崩潰?](http://stackoverflow.com/questions/7416702/crash-log-without-crash) –

+0

這不是重複的,因爲所有的響應都與崩潰相關聯一些調試信息通過EXC_BAD_ACCESS或SIGABRT –

回答

1

搜索內存泄漏在這裏討論 - Memory leak detection tools in Xcode

內存泄漏很難找到,因爲它們可能會導致不可預知的影響。使用xcode中的泄漏工具並通過您的代碼。這可能是值得通過內存管理編程指南,因爲你可能會釋​​放一些東西,當你不應該(或其他方式)。問題可能不一定是你的想法。

我認爲它會仔細檢查您的代碼並檢查所有內容,即使您認爲某件事情是按照它應該的方式工作的,只要檢查確定即可 - 您可能會驚訝地發現它不是。

+0

提交嗯..什麼是令人困惑的是應用程序內存不低......我熟悉內存泄漏檢測......但我的問題是沒有崩潰報告去..什麼條件可以防止應用程序崩潰時創建崩潰日誌。 –

1

OpenGL會導致模糊的崩潰。

我在我的OpenGL代碼中有一個保留週期。

這發生在我的自定義UIView,我有一個GLKView子視圖。這個子視圖永遠不會被釋放,導致崩潰。解決方案是使用weak而不是strong

@property (strong, nonatomic) GLKView* glkView; // Crash, no crash report, no errors 
@property (weak, nonatomic) GLKView* glkView; // this works 

日誌中沒有錯誤。沒有崩潰報告。我有一些例外情況可以突破,但沒有例外。我在任何地方都插入了NSLog,但沒有透露任何有用的信息。我有殭屍啓用,但沒有注意到任何異常。