2012-11-27 8 views
4

이것은 StackOverflow에 대한 나의 첫 번째 질문입니다. 잘하면 관련 항목입니다! 컨텍스트에서 당신을 넣으려고, PresentViewController 메서드로 카메라를 열려고 할 때 응용 프로그램에 이상한 충돌이 있습니다. 나는 충돌 보고서에보고했지만, 나는 다음과 같은 만 16 진수 모든 통화 세부 정보가없는 : 내 충돌 보고서 (제 생각에) 결정적이기 때문에,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 

어쨌든, 나는 보통 메모리를 처리하는 방법을 인터넷 검색 iOS 및 NSZombieEnabled 및 Guard Malloc 활성화 문제가 언급되지 않았습니다. NSZombieEnabled는 Monotouch에서 기본적으로 활성화되어 있지만 Guard Malloc을 활성화하는 방법을 찾지 못했습니다. Monotouch도 가능합니까? 고맙습니다!

+0

관련 질문 http://stackoverflow.com/a/7472663/1004997 –

+0

예, 일반적으로 XCode에서이 작업이 수행됩니다. 어쩌면 참조 목적으로 링크했을 수도 있습니다. – airpaulg

답변

3

적절한 스택 추적이 없으면 다른 디버깅 도구는 거의 쓸모가 없습니다.

크래시 보고서를 상징해야합니다. 또는 자신의 기호가 올바르게 표시되지 않는 이유를 파악해야합니다. 일반적으로 Xcode는 자동으로 처리하지만 (충돌 보고서를 연 후에 몇 초가 걸립니다) Spotlight가 디버깅 정보를 찾도록 요구하므로 Spotlight가 프로젝트 디렉토리를 인덱싱하지 않으면 이것이 결과 중 하나입니다. 솔루션/프로젝트/실행 파일 이름이 동일하지 않은 경우가 종종 있습니다.

또한 장치 로그를 살펴 봐야합니다. 오류의 정확한 원인이 여러 번 인쇄되어 있습니다 (문제 해결 방법에 대한 지침 포함). Here은 이전에 기기 로그를 찾지 못한 경우 기기 로그를 찾는 방법에 대한 가이드입니다.

+0

안녕하세요, 먼저 시간 내 주셔서 감사합니다. 나는 시뮬레이터에서 또 다른 네이티브 크래시 (관련이없는 버그)를 가지고 있었지만, 이것은 잘 상징화되었습니다. 왜 여기에 게시 된 버그 (장치에서 발생한 버그)가 아닌지 이해할 수 없습니다. 언뜻 나는 당신이 당신의 가이드에 적어 놓은 것을 이미 시도했습니다. 나는이 [스레드] (http://stackoverflow.com/questions/1460892/symbolicating-iphone-app-crash-reports)에서 도움이 될 수있는 답을 찾았습니다. 비록 그것이 문제를 해결하지 못한다고해도, 당신의 대답은 제 질문에 거의 답하고 제가 올바른 길을 따르지 않을 수도 있다는 것을 깨닫게했습니다. – airpaulg

+0

그것이 통찰력이 있다면, 나는 카메라를 사용하여 많은 UIImages를 생성하고 메모리 경고를 받기 때문에 메모리 유형이 잘못되었다는 것을 확신합니다. IMO 나는 UIImages를 적절히 처리하지 않았으며 충돌이 발생했습니다. 카메라를 다시 열면 항상 충돌이 발생하므로 메모리가 많이 소모됩니다. 메모리 부족 충돌로 인해 비정상적인 충돌 로그가 발생하는 것이 일반적입니까? – airpaulg

+0

크래시 로그를 상징화하지 않는 크래시 유형이 아니라 시스템의 다른 점입니다. 템플릿에서 새 프로젝트를 만들려고하면 어떻게됩니까? 충돌이 상징적입니까? (스택 오버플로를 유발하여 쉽게 응용 프로그램을 중단시킬 수 있습니다.) 즉, iOS의 메모리 부족으로 인해 대개 크래시가 발생하지 않으며 너무 많은 메모리를 사용하면 OS에 의해 종료됩니다. –