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.
xcode
stack-trace
NaXir
quelle
quelle
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)}
quelle
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.
quelle
In Xcode 6 können Sie auf die Schaltfläche in der unteren linken Ecke des Fensters klicken, die die vollständige Stapelverfolgung anzeigt.
quelle
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.
quelle
Sie können hinzufügen,
breakpoint
bevor eine Ausnahme ausgelöst wird. Gehen Sie zuerst zuBreakpoint Navigator
(cmd + 6). Klicken Sie in der unteren linken Ecke mit der Maus auf die Plus-Taste. ODER Sie könnenInstruments
(/ Developer / Applications / Instruments) verwenden, um die Verwendung von zu erkennenzombie
objects
. ReferenzUnd 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
undover
für zeilenweise Protokolle erweitern.danke hoffe das wird dir helfen
quelle