2012-11-27 48 views
4

這是我在StackOverflow上的第一個問題,希望它是一個相關的問題!爲了試圖將您置於上下文中,當我嘗試使用PresentViewController方法打開相機時,我的應用程序中發生了一次奇怪的崩潰。我試圖尋找到了崩潰報告,但我沒有任何呼叫的細節,只有十六進制如下:Monotouch-Enable Guard Malloc

Thread 0 Crashed: 
0 libsystem_kernel.dylib   0x38a97350 0x38a86000 + 70480 
1 libsystem_c.dylib    0x35d3a11e 0x35d0b000 + 192798 
2 libsystem_c.dylib    0x35d7696e 0x35d0b000 + 440686 
3 (project_name)     0x00882968 0x1000  + 8919400 
4 (project_name)     0x0083db7c 0x1000  + 8637308 
5 libsystem_c.dylib    0x35d43e90 0x35d0b000 + 233104 
6 UIKit       0x39d40b00 0x39d3b000 + 23296 
7 QuartzCore      0x34c52ff2 0x34c4c000 + 28658 
8 QuartzCore      0x34c52fa2 0x34c4c000 + 28578 
9 QuartzCore      0x34c52e8e 0x34c4c000 + 28302 
10 QuartzCore      0x34c4e9ba 0x34c4c000 + 10682 
11 QuartzCore      0x34c4e876 0x34c4c000 + 10358 
12 QuartzCore      0x34c4e806 0x34c4c000 + 10246 
13 UIKit       0x39d3fae8 0x39d3b000 + 19176 
14 UIKit       0x39d4271e 0x39d3b000 + 30494 
15 UIKit       0x39d84a6c 0x39d3b000 + 301676 
16 PhotoLibrary     0x381c39ca 0x38157000 + 444874 
17 UIKit       0x39d417fe 0x39d3b000 + 26622 
18 QuartzCore      0x34c4fd5e 0x34c4c000 + 15710 
19 QuartzCore      0x34c4f8fc 0x34c4c000 + 14588 

不管怎麼說,因爲我的崩潰報告是不確定的(在我看來),我用Google搜索如何通常處理內存iOS和NSZombieEnabled和Enabling Guard Malloc的問題已經提到。 NSMombieEnabled在Monotouch中默認啓用,但我沒有找到任何地方如何啓用Guard Malloc。 Monotouch甚至有可能嗎?謝謝!

+0

在相關問題http://stackoverflow.com/a/7472663/1004997 –

+0

是的,這通常是如何在XCode中完成的。也許我可以將其鏈接以供參考。 – airpaulg

回答

3

沒有正確的堆棧跟蹤任何其他調試工具將幾乎無用。

您需要提供崩潰報告的符號 - 或找出您的爲什麼沒有正確符號。通常Xcode會自動執行它(但是在您打開崩潰報告後需要幾秒鐘),但是它需要Spotlight來查找調試信息,因此如果Spotlight沒有將您的項目目錄編入索引,這將是其中一個後果。有時候,另一件意味着解決方案/項目/可執行文件名稱不一致的東西有時候會出現象徵意義。

您還應該查看設備日誌,多次打印出崩潰的確切原因(甚至包含有關如何解決此問題的說明)。 Here是如何查找設備日誌的指南,如果以前沒有看到它們的話。

+0

Hello Rolf,首先感謝您的時間!我在模擬器上發生了另一個本機崩潰(無關的錯誤),但這個符號很好。我不明白爲什麼這裏發佈的錯誤(發生在設備上)不是。乍一看,我已經嘗試了你在指南中寫的內容。我在[線程](http://stackoverflow.com/questions/1460892/symbolicating-iphone-app-crash-reports)中找到了一個可能有用的答案。即使它不能解決問題,你的回答幾乎可以回答我的問題,並讓我意識到我可能不會遵循正確的道路,謝謝你! – airpaulg

+0

如果它是有洞察力的,我很確定這是一種內存不足的錯誤類型,因爲我使用相機產生大量的UIImages,並且我收到內存警告。國際海事組織我沒有妥善處理UIImages,並最終崩潰。當我再次打開相機時,它總是崩潰,所以我認爲這是一個消耗內存的操作。內存不足崩潰通常會導致晦澀的崩潰日誌? – airpaulg

+0

這不是使崩潰日誌不具有象徵意義的崩潰類型,它是您的系統上的其他功能。如果您嘗試使用模板創建新項目會發生什麼情況 - 然後出現崩潰符號? (通過引發堆棧溢出,您可以輕鬆地崩潰應用程序)。也就是說,你通常不會因爲iOS上的內存不足而崩潰,當你使用太多的內存時,你會被操作系統殺死。 –