Магическая функция отладки в консоли ipython
У меня есть файл с именем foo.py. В этом файле у меня есть несколько функций, и я хотел бы отладить одну из них, называемую foo.bar
устанавливая точку останова, но не кодируя ее жестко set_trace
, Я работаю в консоли IPython, и я знаю, что есть %debug
магическая функция, которая может быть использована для этой цели с помощью синтаксиса:
%debug [--breakpoint FILE:LINE]
Так что я стараюсь
%debug --breakpoint foo.py:10
установить точку останова в строке 10. Однако, как мне фактически выполнить код, чтобы IPython распознал точку останова? дела
import foo
foo.bar()
не работает, так как точка останова просто пропускается.
1 ответ
Решение
Способ сделать это:
from foo import bar
%debug --breakpoint /path/to/foo.py:10 bar()
Это будет импортировать bar
в пространство имен и запустите его с точкой останова в строке 10 модуля.