Say I-Code den folgenden Code haben:PDB/IPDB für Python Pause auf editierbaren Zustand
for i in range(100):
import ipdb;ipdb.set_trace()
print i
Aber jetzt ich:
for i in range(100):
print i
Im Allgemeinen ich eine Zeile Code als hinzufügen will es bei i == 10
debuggen, und ich möchte nicht durch c
für 10 mal in ipdb zu stören, wie soll ich tun?
In der Dokumentation fand ich condition bpnumber [condition]
, aber wie könnte ich die bpnumber
wissen, wenn es keine Liste von bpnumber
Index gibt. Die Dokumentation sagt auch b(reak) ([file:]lineno | function) [, condition]
. Angenommen, die Zeilennummer print i
lautet xx
. Ich habe Folgendes in ipdb Shell eingegeben: b xx, i == 10
, aber nichts wie erwartet passiert ist.
Hallo, wenn Sie sagen, 'aber nichts als geschah erwartet 'meinst du, dass Informationen über die Erstellung von Haltepunkten nicht angezeigt werden 'Haltepunkt 1 bei /home/oleg/test.py: xx'? – oleg
@oleg was ich meine ist, nachdem ich 'b xx, i == 10' eingegeben habe und dann' c' zum Fortfahren einfüge, stoppt das Programm wieder am Haltepunkt, aber der Wert von 'i' ist nicht 10, was das Programm bedeutet stoppt nicht bei der angegebenen Bedingung – shelper
Es scheint, dass Sie an Ihrem ersten Haltepunkt angehalten haben (der als Codezeile vorhanden ist) Versuchen Sie, Ihre 'ipdb; ipdb.set_trace()' außerhalb des Zyklus zu verschieben und in ipdb session create conditional Breakpoint – oleg