2014-12-22 4 views
7

새로운 iOS 애플리케이션 버전이 출시 된 후 자주 다음과 같은 오류가 발생합니다.QuartzCore - iOS8에서 충돌이 발생했습니다.

는 추락 : 0x80000012

이 스택 트레이스가 충돌 또는 어떤이 충돌이 발생 어디 관련된 단서를 제공하지 않은 자극 충돌 중 하나에 EXC_BAD_ACCESS KERN_INVALID_ADDRESS을 WebThread. 한가지 중요한 점은이 충돌은 iOS8에서만 발생한다는 것입니다. 아래 스택 추적을 찾으십시오.

0 libobjc.A.dylib  objc_msgSend + 5 release 
1 CoreFoundation   CFRelease + 600 
2 QuartzCore    CA::release_objects(X::List<void const*>*) + 16 
3 QuartzCore    -[CAAnimation dealloc] + 54 
4 libobjc.A.dylib  objc_object::sidetable_release(bool) + 166 
5 libobjc.A.dylib  (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 404 
6 CoreFoundation   _CFAutoreleasePoolPop + 16 
7 Foundation    -[NSAutoreleasePool drain] + 122 
8 CFNetwork    AutoAutoreleasePool::~AutoAutoreleasePool() + 24 
9 CFNetwork    ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 166 
10 CFNetwork    RunloopBlockContext::_invoke_block(void const*, void*) + 60 
11 CoreFoundation  CFArrayApplyFunction + 36 
12 CFNetwork    RunloopBlockContext::perform() + 182 
13 CFNetwork    MultiplexerSource::perform() + 216 
14 CFNetwork    MultiplexerSource::_perform(void*) + 48 

모든 힌트를 크게 높이 평가하겠습니다. 미리 감사드립니다.

+0

[UIWebView 임의 충돌] [UIViewAnimationState release \] : 메시지가 할당 취소 된 인스턴스로 전송 됨] (http://stackoverflow.com/questions/26656342/uiwebview-random-crash-at-uiviewanimationstate-release -message-sent-to-deallo) – 0xced

답변

0

대부분의 경우 EXC_BAD_ACCESS은 이미 릴리스 된 개체에 메시지를 보내는 것으로 나타납니다. 이것은 ARC 하에서하기 전에하기가 어렵지만, 여전히 가능합니다.

KERN_INVALID_ADDRESS 부분은 방금 접근 한 메모리가 출시 된 객체 처리 가설에 대한 신뢰를주는 앱의 메모리 공간의 일부가 아니라는 것을 알려줍니다.

이전에 릴리스 된 객체 ("좀비"객체라고 함)를 디버깅하려면 디버거에서 NSZombies를 켜십시오. XCode 7에서 ...

  • CMD-SHIFT-에서 관리 스키마를 가져옵니다. 좀비 객체가 메모리의 톤을-차지과 성능을 상처로 만 디버그에서이 작업을 수행 할 빌드 :
  • 선택하여 계획
  • 선택 Diagnostics
  • 확인 Enable Zombie Objects

참고 사무용 겉옷. 그래도 훌륭한 디버깅 도구입니다.

관련 문제