Подтвердить что ты не робот

Python pdb - skip loop

Как пропустить цикл с помощью pdb.set_trace()?

Например,

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

print('Done!')

pdb запрашивает перед циклом. Я ввожу команду. Все значения 1-5 возвращаются, а затем я хотел бы получить приглашение с pdb еще до выполнения print('Done!').

4b9b3361

Ответ 1

Попробуйте инструкцию until.

Перейдите к последней строке цикла и используйте until. Это приведет вас к следующей строке, сразу после цикла.

http://www.doughellmann.com/PyMOTW/pdb/ имеет хорошее объяснение

Ответ 2

Вы должны установить точку останова после цикла ( "break main.py:4", предполагая, что указанные строки находятся в файле main.py), а затем продолжить ( "c" ).

Ответ 3

Вы можете установить другую точку останова после цикла и перейти к ней (при отладке) с помощью c:

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

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

Ответ 4

Если я правильно понял.

Один из возможных способов сделать это будет:

Как только вы получите приглашение pdb. Просто нажмите n (следующий) 10 раз, чтобы выйти из цикла.

Тем не менее, я не знаю, как выйти из цикла в pdb.

Вы можете использовать r для выхода из функции.