web-dev-qa-db-fra.com

python pdb - sauter la boucle

Comment sauter une boucle en utilisant pdb.set_trace()?

Par exemple,

pdb.set_trace()
for i in range(5):
     print(i)

print('Done!')

pdb vous invite avant la boucle. J'entre une commande. Toutes les valeurs 1-5 sont renvoyées, puis j'aimerais être de nouveau invité avec pdb avant que la fonction print('Done!') ne s'exécute.

64
Rhys

Essayez l'instruction until.

Accédez à la dernière ligne de la boucle et utilisez until. Cela vous amènera à la ligne suivante, juste après la boucle.

http://www.doughellmann.com/PyMOTW/pdb/ a une bonne explication

109
shreddd

Vous devez définir un point d'arrêt après la boucle ("break main.py:4" en supposant que les lignes ci-dessus se trouvent dans un fichier appelé main.py), puis continuer ("c").

4
mike

Vous pouvez définir un autre point d'arrêt après la boucle et y accéder (lors du débogage) avec c:

pdb.set_trace()
for i in range(5):
    print(i)

pdb.set_trace()
print('Done!')
0
Qaswed