Я использую ipdb довольно часто, чтобы просто перейти к фрагменту кода, который изолирован, т. к. сложно написать реальный script, который его использует. Вместо этого я пишу минимальный тестовый пример с насмешкой и прыгаю в него.
Пример для рабочего процесса:
def func():
...
import ipdb
ipdb.set_trace()
...
def test_case():
...
func()
...
Затем вызовите
py.test test_file.py -s -k test_case
Теперь, обычно, я просто проверяю одну или две переменные, а затем хочу выйти. Измените код и сделайте это снова.
Как мне выйти? В руководстве указано, что q
завершает работу отладчика. Это не так (действительно). Вы должны бросить несколько раз, прежде чем отладчик действительно прекратит работу. Такое же поведение для Ctrl-C и Ctrl-D (с дополнительным расстройством, которое ударяет Ctrl-D несколько раз, в конце концов также покидает терминал).
Есть ли умный способ заставить бросить курить? Является ли этот рабочий процесс даже разумным? Каков стандартный способ сделать это?