Gibt es einen Befehl, während des Debuggens auf ipdb aus den Zyklen herauszutreten (z. B. für oder während), ohne dass dafür Haltepunkte verwendet werden müssen?
Ich benutze den until
-Befehl, um aus Listen-Comprehensions herauszutreten, weiß aber nicht, wie ich, wenn möglich, eine ähnliche Sache von ganzen Loop-Blöcken machen könnte.
Das könnte offensichtlich klingen: Sprung lässt dich springen . Dies bedeutet, dass Sie die Zeilen, die Sie überspringen, nicht ausführen: Sie sollten dies verwenden, um Code zu überspringen, den Sie nicht ausführen möchten.
Sie müssen wahrscheinlich tbreak (Temporärer Breakpoint, der beim ersten Treffer automatisch entfernt wird. Die Argumente sind mit Break identisch), wie ich es getan habe, als ich diese Seite gefunden habe.
Ich glaube, das ist die Absicht des Befehls until
. Es ist wie ein next
, außer dass, wenn ein Sprung zu einer vorherigen Zeilennummer für die Schleife auftritt, diese bis zum Verlassen der Schleife fortgesetzt wird.
Um die aktuelle Funktion zu verlassen, verwenden Sie return
.
Wenn Sie bereit sind, einen anderen Debugger zu verwenden, trepan , haben Sie mehr Möglichkeiten, um einen Schritt zu machen. Es ist mehr gdb-ähnlich. So können Sie zählen, wie oft Sie treten möchten. Oder Sie können eine Zeilennummer in einem fortfahren Debugger-Befehl angeben, der im Wesentlichen gesetzt wird ein temporärer Haltepunkt an der Linie und gibt dann "weiter" aus. Andere Dinge, die das Stepping ändern, sind "set different" . Siehe auch die geraden Suffixe, die Sie auf Schritt anwenden können.
Beachten Sie, dass es wie bei ipdb eine Syntaxhervorhebung des Quelltextes gibt.