Я использую ipdb довольно часто, чтобы просто перейти к фрагменту кода . т. Е. Сложно написать реальный скрипт, который его использует. Вместо этого я пишу минимальный тестовый пример с насмешкой и прыгаю в него.Выход из Python Debugger ipdb
Образцовый для рабочего процесса:
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 несколько раз, в конце концов также покидает терминал).
Есть ли умный способ заставить бросить? Является ли этот рабочий процесс даже разумным? Каков стандартный способ сделать это?
Я тоже получаю это сейчас. Это недавнее поведение. Он использовал ctrl-c только отлично, но теперь он просто не уйдет. даже выброс исключения не остановит его. – felix
Ссылка на [GitHub issue] (https://github.com/gotcha/ipdb/issues/111) об этой проблеме. –
Исходная проблема была решена в ipython 5.2, см. Ответ @ cheflo. Можете ли вы принять это как ответ, чтобы не путать других людей с предлагаемыми обходными решениями? – ffeast