Während des Debuggens wird ohnehin eine vollständige Stapelverfolgung angezeigt, eine Liste der im Hauptthread aufgerufenen Methoden. Oder eine Möglichkeit, sie im Befehlsfenster zu drucken.
Während des Debuggens wird ohnehin eine vollständige Stapelverfolgung angezeigt, eine Liste der im Hauptthread aufgerufenen Methoden. Oder eine Möglichkeit, sie im Befehlsfenster zu drucken.
Antworten:
Sie können den Stack-Trace im NSLog von drucken
NSLog(@"Stack trace : %@",[NSThread callStackSymbols]);
Bei einem Absturz können Sie neben dem Wort (lldb)
Folgendes eingeben:
po [NSThread callStackSymbols]
Bearbeiten:
Für eine bessere Ausgabe auf der Swift-Konsole können Sie stattdessen die folgende Zeile verwenden:
Thread.callStackSymbols.forEach{print($0)}
cannot use dot operator on a type
Verwenden Sie den bt
Befehl in (lldb).
Nach einer Pause oder nach einem Absturz geben Sie einfach bt
in die Debug-Konsole ein.
Es wird die vollständige Stapelverfolgung gedruckt.
In Xcode 6 können Sie auf die Schaltfläche in der unteren linken Ecke des Fensters klicken, die die vollständige Stapelverfolgung anzeigt.
In Xcode 5 können Sie den Schieberegler am unteren Rand des Fensters verschieben, in dem die Stapelverfolgung angezeigt wird. Es steuert, wie viel von der getroffenen Spur angezeigt wird.
Sie können hinzufügen, breakpoint
bevor eine Ausnahme ausgelöst wird. Gehen Sie zuerst zu Breakpoint Navigator
(cmd + 6). Klicken Sie in der unteren linken Ecke mit der Maus auf die Plus-Taste. ODER Sie können Instruments
(/ Developer / Applications / Instruments) verwenden, um die Verwendung von zu erkennen zombie
objects
.
Referenz
Und wenn Sie eine Haltepunktüberprüfung hinzufügen, wird das Bild von erstellt Xcode
.
Sie können die Stapelverfolgung mithilfe des Schiebereglers unten step over
und over
für zeilenweise Protokolle erweitern.
danke hoffe das wird dir helfen