2009-09-03 4 views
8

Debugger sagt mir dies, wenn ich meine App auf dem Gerät laufen:Was bedeutet das? "mi_cmd_stack_list_frames: Nicht genügend Frames im Stapel."

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. 

ich keine Informationen darüber, wo in Code, was geschieht. Das ist alles was ich bekomme. Irgendeine Idee, was das bedeuten könnte?

Die App stürzt danach ab. Wenn das Gerät nicht mit dem Mac verbunden ist, stürzt es immer noch ab, also kein Debugger-Problem.

+0

Kann jemand einen Haltepunkt herausfinden, der dazu führen würde, dass er bricht, wenn er auf diesen Fehler trifft? Das könnte helfen, Dinge zu klären. –

Antwort

2

EXC_BAD_ACCESS passiert, wenn eine Nachricht an ein Objekt gesendet wird, das bereits freigegeben wurde.

Ich habe "mi_cmd_stack_list_frames: Nicht genügend Frames im Stack" gesehen, bevor ich versuche, etwas zu veröffentlichen, das bereits veröffentlicht wurde.

Mein Vorschlag ist, die Umgebungsvariable NSZombieEnabled festzulegen und zu sehen, auf welches freigegebene Objekt Sie zugreifen möchten.

Diese Seite hat ein großes Tutorial auf sie: http://www.codza.com/how-to-debug-exc_bad_access-on-iphone

1

Ich habe dies durch mindestens drei verschiedene Arten von Problemen verursacht gesehen:

• Wie in der anderen Antwort beschrieben, können overrelease Fehler machen es.

• Ich hatte es passiert, als ich eine App aktualisiert habe, um iAd und IOS 4.0 zu verwenden. Ich denke, das Problem war, dass ich versucht habe, das iAd-Framework auch in der 3.0-Version der App zu verwenden, was natürlich nicht möglich ist, weil iAd nur in 4.0 und höher verfügbar ist.

• Ich hatte es passiert, als ich eine Menge Sachen aus einer App entfernte und neu kompilierte, aber Spuren des alten Krams waren immer noch im Simulator. Durch das Zurücksetzen des Simulators wurde das Problem behoben. Was ich entfernte, war die Flurry API. Ich fürchte, ich weiß nicht, was genau darin stecken geblieben ist und das Problem verursacht hat.

9

Aufbauend auf dem 4.0 SDK auf ein 3.1.3 Telefon verursacht dies für mich.

Fixed durch schwache Verknüpfung UIKit im Ziel.

+5

ausführlichere Erklärung: http: // stackoverflow.com/questions/2618889/universal-iphone-ipad-application-debug-compilation-fehler-for-iphone-testing/2622027 # 2622027 – WoodenKitty

0

ich eine solche Nachricht erhalten haben, wenn, wie die

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

Zur gleichen Zeit, die gut funktioniert, wenn ich ein Gerät eine App auf dem iPhone unter iOS 3.1.2 mit einem String zu starten versuchte verwenden mit iOS 4.
So kann ich davon ausgehen, dass App beim Start auf dem Gerät abstürzen könnte, wenn es Verweise auf iOS4-only Klassen gibt.

0

Das Erstellen eines neuen Projekts und das Kopieren aller vorhandenen Dateien löste dieses Problem für mich.

1

Ich habe das gleiche Problem. Meine Lösung ist:Beenden Sie den Xcode und starten Sie ihn nach einiger Zeit neu.

+0

Reset Der Simulator auch wenn Sie dieses Problem im Simulator gefunden und wenn Sie dieses Problem gefunden haben Gerät hat dann einfach das Gerät ausgeschaltet und dann später eingeschaltet. –