2009-09-03 7 views
8

Debugger jest mi to mówi, gdy uruchamiam moją aplikację na urządzenia:Co to znaczy? "mi_cmd_stack_list_frames: Za mało klatek na stosie."

Program received signal: “EXC_BAD_ACCESS”. 
mi_cmd_stack_list_frames: Not enough frames in stack. 
mi_cmd_stack_list_frames: Not enough frames in stack. 

nie uzyskać informacje o tym, gdzie w kodzie, co się dzieje. To wszystko, co otrzymuję. Masz pojęcie, co to może oznaczać?

Aplikacja ulega awarii po tym. Gdy urządzenie nie jest podłączone do komputera Mac, nadal ulega awarii, więc nie jest to problem z debuggerem.

+0

Czy ktokolwiek może wykryć punkt przerwania do ustawienia, który spowodowałby jego uszkodzenie podczas napotkania tego błędu? To może pomóc wyjaśnić sprawę. –

Odpowiedz

2

EXC_BAD_ACCESS dzieje się, gdy wiadomość zostanie wysłana do obiektu, który został już zwolniony.

Widziałem "mi_cmd_stack_list_frames: Za mało klatek w stosie" przed próbą wydania czegoś, co już zostało wydane.

Moja sugestia to ustawienie zmiennej środowiskowej NSZombieEnabled i zobacz, do którego uwolnionego obiektu próbujesz uzyskać dostęp.

Ta strona ma świetny tutorial na niej: http://www.codza.com/how-to-debug-exc_bad_access-on-iphone

1

widziałem to spowodowane przez co najmniej trzy różne rodzaje problemów:

• Jak opisano w drugiej odpowiedzi, błędy overrelease może zrobić to.

• Miałem to miejsce, gdy aktualizowałem aplikację, aby używać iAd i IOS 4.0. Myślę, że problem polegał na tym, że próbowałem użyć struktury iAd w wersji 3.0 aplikacji, co oczywiście nie jest możliwe, ponieważ iAd jest tylko w wersji 4.0 i wyższej.

• Miałem to miejsce, gdy usunąłem kilka rzeczy z aplikacji i zrekompilowałem, ale ślady starych rzeczy wciąż były w pobliżu symulatora. Resetowanie symulatora spowodowało usunięcie problemu. Usunąłem interfejs API Flurry. Obawiam się, że nie wiem, co konkretnie w tym utknęło i spowodowało problem.

9

Opierając się na wersji 4.0 SDK na telefonie 3.1.3 spowodowałem to dla mnie.

Naprawiono przez słabe łączenie UIKit w celu.

+5

dokładniejsze wyjaśnienie: http: // stackoverflow.com/questions/2618889/universal-iphone-ipad-application-debug-kompilacja-błąd-dla-iphone-testing/2622027 # 2622027 – WoodenKitty

0

Mam taką wiadomość, gdy starał się uruchomić aplikację na iPhone pod iOS 3.1.2 sznurkiem jak tego

Class messageClass = (NSClassFromString(@"MFMessageComposeViewController")); 

Jednocześnie, który działa dobrze podczas korzystania z urządzenia z iOS 4.
Mogę więc założyć, że aplikacja może się zawiesić po uruchomieniu na urządzeniu, jeśli są jakieś odniesienia do klas tylko iOS4.

0

Utworzenie nowego projektu i skopiowanie wszystkich istniejących plików rozwiązało ten problem.

1

Mam ten sam problem. Moje rozwiązanie:Zamknij Xcode, a następnie uruchom ponownie po odczekaniu pewnego czasu.

+0

Zresetuj Symulator również, jeśli znajdziesz ten problem na symulatorze i jeśli znalazłeś ten problem na urządzenie następnie po prostu wyłączyło urządzenie, a następnie je włączyło. –