2012-12-23 61 views
0

我得到這個錯誤導致我的應用程序崩潰:不能分配區域的malloc

..Splash-it(1369,0x5783000) malloc: *** mmap(size=516096) failed (error code=12) 
*** error: can't allocate region 
*** set a breakpoint in malloc_error_break to debug 

我不知道爲什麼錯誤引起的。它是一個內存問題的錯誤?我怎樣才能防止它? 「在malloc_error_break中設置斷點以進行調試」是什麼意思?

感謝您的任何答案。

+0

您的應用程序使用多少內存?在哪個設備上?在此之前你有沒有收到記憶警告? –

+0

新的iPad,並沒有我沒有收到任何內存worning – Alessandro

+0

看看http://stackoverflow.com/questions/8477236/malloc-error-cant-allocate-region-failed-with-error-code- 12任何想法如何爲一些想法。 – DrC

回答

0

不知道這是不是發生在我的情況&我解決了刪除斷點

我正在從服務器加載數據&將它們添加到桌面視圖&隱藏或顯示頁腳。有時候,我的頁腳視圖並沒有像我想要的那樣出現,所以我插入了斷點來檢查出現了什麼問題。但是,過了一段時間後,我的應用程序出現了以上錯誤。

我試過這2-3次沒有斷點&它沒有崩潰,但是,每當我添加斷點時出現錯誤。

這可能不是你的情況,但我想如果你正在主線程&上做一些大的操作,如果你插入了斷點,你至少可以嘗試一次。

+0

通過刪除斷點,您的意思是通過選擇頂部欄上的斷點按鈕來刪除所有斷點?如果我將它們留在代碼本身中,可以嗎? – Alessandro

+0

我的意思是嘗試通過禁用Xcode工具欄中的斷點來運行你的代碼。看看它是否有效。 – JiteshW

+0

我曾讓他們禁用前,對不起 – Alessandro

1

在我的情況我得到這個,因爲imgCount沒有得到價值,因爲我的條件失敗。 而非void函數返回imgCount的值。

- (NSInteger)collectionView:(PSUICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 
{ 
    NSInteger imgCount; 
    if(collectionView == self.imageCollection) { 
     imgCount=self.imageCount; 
    } 
    return imgCount; 
} 

所以我通過給imgcount賦值來解決它。 它適合我。

+0

這個答案幫助我實現我只是引用數組而不是array.count,謝謝! – ChuckKelly