2010-02-09 2 views
0

장치에 내 응용 프로그램 중 하나를 설치하고 실행하려고했습니다. 시뮬레이터에서 잘 작동했습니다. 그러나 한 번 장치에, 그것은 어떻게 든 부순다. 디버깅을 시도했지만 아무 것도 얻을 수 없었습니다. 여기 디버거 로그입니다 : 여기 는 .. 디버거 콘솔이 사람이 좀 도와 주실 래요 .. 보여줍니다 무엇iphone 이상한 장치 충돌하지만 시뮬레이터에 표시되지 않습니다

Program received signal EXC_BAD_ACCESS, Could not access memory.` 
`Reason: KERN_PROTECTION_FAILURE at address: 0x00000000` 
`[Switching to thread 12291]` 
`0x327083e0 in _objc_selopt_data()` 
`Program received signal: “EXC_BAD_ACCESS”.` 

`Unable to disassemble _objc_selopt_data.` 
(gdb) bt` 
`#0 0x327083e0 in _objc_selopt_data()` 
`#1 0x32fb93c0 in WebCore::FrameLoader::detachFromParent()` 
`#2 0x303e1aec in -[WebView(WebPrivate) _close]()` 
`#3 0x303e19d8 in -[WebView close]()` 
`#4 0x303e1940 in -[WebView dealloc]()` 
`#5 0x32d86640 in -[NSObject release]()` 
`#6 0x32f4a294 in WebCoreObjCDeallocOnWebThreadImpl()` 
`#7 0x32f8b9c4 in HandleWebThreadReleaseSource()` 
`#8 0x32da43a6 in CFRunLoopRunSpecific()` 
`#9 0x32da3c1e in CFRunLoopRunInMode()` 
`#10 0x32f486f8 in RunWebThread()` 
`#11 0x327587b8 in _pthread_body()` 
`#12 0x00000000 in ??()` 
`(gdb) ` 
+0

당신이 당신의 역 추적 로그를 다시 포맷시겠습니까? 읽을 시간이 꽤 있습니다. – Karl

+0

죄송합니다. 나는 내 컴퓨터에서 제대로 작동하도록 코드를 강조 할 수 없었다. – Nareshkumar

답변

0

이미 파괴 된 개체를 삭제하고 있습니까?

+0

기존 아이폰 도구에서 어떤 도구를 찾을 수 있는지 알려주시겠습니까? – Nareshkumar

+0

나는 그가 이미 파괴 된 물건을 지우고 있다고 생각하지 않는다. 그렇다면 시뮬레이터에서도 충돌이 발생해야합니다. 그러나 그의 경우에는 그렇지 않습니다. – Karl

0

관련이 있는지 여부는 확실치 않지만 한 번 비슷한 문제가 발생했습니다. iPhone은 RAM이 부족하여 메모리 경고를 발생시킵니다. 따라서 때로는 iPhone이 캐시 된 메모리를 플러시하므로 가끔씩 일부보기 또는 객체가 사용자의 우려에 따라 해제되거나 할당 취소 될 수 있습니다. iPhone 시뮬레이터는 절대로 메모리 경고를 호출하지 않지만 실제 시스템에서는 발생합니다.

이 경우인지 여부는 확실치 않지만 시도해보십시오. iPhone 시뮬레이터에서 "메모리 경고 시뮬레이션"옵션이 있습니다. 시뮬레이터에서 앱을 가지고 놀고 가끔 "메모리 경고 시뮬레이션"을 시도해보십시오. 충돌이 발생하면이 경우에 해당한다고 결론을 내릴 수 있습니다.

이 경우 먼저 테스트하십시오.

또는 당신이 진짜 아이폰이 "메모리 경고"를 호출 할 때 테스트하려는 경우, 다음과 같은 방법으로 NSLog 또는의 printf를 넣어보십시오

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
} 
+0

감사합니다. 나는 이것을하려고 노력할 것이고 결과를 알려줄 것이다. – Nareshkumar

관련 문제