2011-08-23 14 views
5

Jestem obecnie uzyskanie tego dziennika awarii w konsoli:NSCFData isResizable crash?

2011-08-23 19:18:40.064 App[1697:707] -[__NSCFData _isResizable]: unrecognized selector sent to instance 0x11f1c0 
2011-08-23 19:18:40.075 App[1697:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFData _isResizable]: unrecognized selector sent to instance 0x11f1c0' 

Czy ktoś wie co to oznacza? Co może być tego przyczyną?

Dzięki!

Odpowiedz

9

Najprawdopodobniej zbyt szybko zwolniłeś jakiś losowy obiekt i całkiem przypadkowo instancja NSData (lub CFData) została przydzielona w miejscu, w którym znajdował się teraz obiekt.

Uruchom narzędzie do wykrywania Zombie i zobacz, czy to coś złapie (poszukaj SO dla NSZombie).

Można również ustawić punkt przerwania na objc_exception_throw i powinien on wskazywać, gdzie wysyłana jest wiadomość. To może jednak nie zapewniać wystarczającego kontekstu.

+2

Problem zakończył się tym, że ustawiałem obiekt NSData na UIImageView, głupio mnie! –

+0

Hah! To też zrobi. Cieszę się, że to znalazłeś. – bbum

1

Wygląda na to, że wysyłałeś nieprawidłowy selektor (isResizable) do obiektu, być może obiektu NSData? Czy masz śledzenie stosu, aby uzyskać więcej informacji o tym, gdzie ma miejsce awaria?

+0

Używam tylko NSData w kontrolerze widoku, gdzie katastrofa jest raz i nie jest wywoływana podczas uruchamiania. Awaria następuje podczas uruchamiania. Jak uzyskać ślad stosu? –

+1

Zobacz [ten starszy wpis SO] (http://stackoverflow.com/questions/1093999/stack-trace-lub-more-info-on-un-cedception-exception-in-xcode-iphone/1094096 #1094096), w tym komentarze od Brada Larsona, jeśli chcesz to zrobić w Xcode 4 –

+1

uruchom go w instrumentach z włączoną funkcją wykrywania zombie. przyrządy mogą rejestrować wszystkie liczniki odniesień dla obiektów, co skraca czas potrzebny do zidentyfikowania zombi/wcieleń/źródeł do około minuty po odtworzeniu. – justin