2013-03-04 3 views
5

Als ich meine iPhone App debugging, habe ich einen Fehler und die App wurde abgestürzt. Ich habe einen Ausnahmebreakpunkt hinzugefügt, aber es zeigte nirgends wo in den Code und stürzte in main.m.Wie das genaue Problem für den Absturz in iOS zu verfolgen

Hier füge ich den Screenshot des XCode-Fensters hinzu, als die App abgestürzt ist.

Wie kann ich das genaue Problem für den Absturz von diesem finden?

Ist es möglich? Bitte helfen Sie.

+0

Auch ich hatte diese Art von Problemen, aber ich konnte nicht finden, das genaue Problem zu finden. Ich würde mich freuen, wenn hier irgendjemand auf einen möglichen Weg hinweisen könnte. :) – Mithun

+0

Wenn Sie einige Codes in Ihrem Programm haben, zeigen Sie sie bitte. Damit kann jemand zum Fehlerpunkt gelangen. –

+0

Ich fürchte, welcher Teil meines Codes dieses Problem verursacht hat, ich habe zufällig durch verschiedene VCs navigiert, plötzlich bekam ich dieses Problem. Und im Debug-Fenster wurde auch kein Code oder keine Funktion erwähnt. Was soll ich in diesem Fall tun? – Mithuzz

Antwort

6

Aktivieren Sie Zoombie, so dass Sie die Fehlerbeschreibung im Protokoll erhalten.

Wenn Sie das Schema bearbeiten, für das Sie Zombies aktivieren möchten (wählen Sie im Menü "Produkt" die Option "Schema bearbeiten"), wechseln Sie im linken Bedienfeld zur Ebene "Foo.app ausführen" und "Argumente "Tab rechts. Sie können dann NSZombieEnabled zum Abschnitt "Umgebungsvariablen" hinzufügen und den Wert wie in Xcode 3 auf YES setzen.

In Xcode 4.1 und höher gibt es auch ein Kontrollkästchen auf der Registerkarte "Diagnose" des "Run" Bühne um "Zombie-Objekte aktivieren".

+0

Danke, aber ich habe es bereits aktiviert. – Mithuzz

+0

Sorry, eigentlich habe ich vergessen, die zweite Option hinzuzufügen, jetzt auch aktiviert. Danke :) – Mithuzz

+0

Ich habe die Einstellungen geändert, wie du erwähnt und getestet hast. Ich hatte wieder das Problem mit dem Absturz, aber es zeigte mir keine Details. – Mithuzz

3

Fügen Sie eine Exception breakpoint hinzu und der Debugger stoppt in der Zeile, die abstürzt.

+0

Ich tat das schon, es zeigte auf einige andere Probleme, aber als dieser Fehler auftrat, passierte nichts. Ist es möglich, das Problem im Debug Navigator-Fenster zu finden? – Mithuzz

6

klicken Sie auf EditScheme in XCode. dann wird der Bildschirm wie folgt angezeigt. Klicke auf Enable Zombie Objects. Es wird ein Fehler in deinem Log angezeigt.

enter image description here

+0

Danke, eigentlich habe ich diese Option vergessen, werde es aktivieren und es erneut versuchen. – Mithuzz

+0

Sorry, ich denke, Melbourne hat die gleiche Antwort vor dir gesagt, also sollte ich seine Antwort richtig akzeptieren? Mach dir keine Sorgen, ich gab dir eine Upvote und ich schätze für deine Hilfe mit dem genauen Screenshot, es war sehr einfach zu verstehen. Danke :) – Mithuzz

+0

@Mithuzz. Dies ist nicht nur für Sie. So viele Programmierer werden versuchen, die richtige Antwort zu verstehen. Video Screenshot ist akzeptabelere Antwort für diese Art von Frage. Wir müssen den neuen Programmierern einen besseren Weg weisen. – Suresh

1

nicht sicher, aber die Register lesen könnte helfen.

Rufen Sie zuerst die Registerkarte Ausnahmen auf und klicken Sie unter der linken unteren Ecke auf + Exception Breakpoint hinzufügen. enter image description here

Dann, wenn die App abstürzt klicken Sie auf "0 objc_exception_throw" unter Thema 1 enter image description here

schließlich in die Konsole eingeben:

  • Register lesen (Sie sollten eine Liste von Registern erhalten)
  • po $ rax (normalerweise ist die Ausnahme in 'rax')

    (Sie sollten die Ausnahmeausgabe auf der Konsole sehen)

Hoffen, dass dies hilft.