2011-11-24 2 views
2

테스트 도중 앱이 충돌하여 할당 해제 된 UINavigationItem에게 메시지를 보냈습니다. 저는 Instruments를 사용하여 보았습니다 만, 모든 릴리스와 유지는 균형 잡힌 모습으로 보입니다. 변수를 유지하지 않고 변수에 매달려있는 것처럼 보입니다. 메시지가 전송되는 곳을 찾고 싶습니다. 개체가 수신 할 수있을만큼 오래 살아 있는지 확인할 수 있도록하고 싶습니다.메시지를 보내는 곳을 어떻게 알 수 있습니까?

콘솔의 오류는 다음과 같습니다

0 CoreFoundation ___forwarding___ 
1 CoreFoundation _CF_forwarding_prep_0 
2 UIKit -[UINavigationItemButtonViewAccessibility(SafeCategory) accessibilityTraits] 
3 UIAccessibility -[NSObject(NSObjectAccessibility) accessibilityAttributeValue:] 
4 UIAccessibility _copyAttributeValueCallback 
5 AXRuntime _AXXMIGCopyAttributeValue 
6 AXRuntime _XCopyAttributeValue 
7 AXRuntime mshMIGPerform 
8 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ 
9 CoreFoundation __CFRunLoopDoSource1 
10 CoreFoundation __CFRunLoopRun 
11 CoreFoundation CFRunLoopRunSpecific 
12 CoreFoundation CFRunLoopRunInMode 
13 GraphicsServices GSEventRunModal 
14 GraphicsServices GSEventRun 
15 UIKit UIApplicationMain 
16 MyApp Functional Tests main [myapp]/main.m:14 
17 MyApp Functional Tests start 

...하지만 아무도 내 코드입니다 :

-[UINavigationItem safeValueForKey:]: message sent to deallocated instance 0x11afab80 

스택 추적입니다. 메시지를 보내는 곳을 어떻게 알 수 있습니까?

+0

를 해결할

을 NSZombieEnabled NsDebugEnabled? 누수? 좀비를 켰어? –

+0

좀비 할당. – Simon

+0

'grep''item = [UINavigationItem alloc] ...'에 대한 소스 일 가능성이 높습니다. 아마도'self.item'을 사용하여 유지해야 할 것입니다. @property도 잘못 될 수 있습니다. –

답변

2

사용 명령 :

쉘 malloc_history PROCESS_ID 메모리

예. 쉘 malloc_history 활성화 MallocstackLogging 같은 1) 2)에 대해 다음 0x11afab80

을 PROCESS_ID는 3)이 악기는 지금까지 시도 문제

+0

+1 문제가 해결되지 않을 것이라고 생각하고 문제가있는 부분을 강조 표시합니다. :) – Ariel

관련 문제