在ipython控制台中调试魔术功能

时间:2018-07-27 21:37:43

标签: python python-3.x ipython pdb jupyter-console

我有一个名为foo.py的文件。在该文件中,我有一堆函数,我想通过设置一个断点来调试其中一个称为foo.bar的函数,而不是使用set_trace对其进行硬编码。我正在IPython控制台中工作,我知道有一个%debug魔术函数可用于以下目的,语法如下:

%debug [--breakpoint FILE:LINE]

所以我尝试

%debug --breakpoint foo.py:10

在第10行设置断点。但是,我实际上如何执行代码,以便IPython识别断点?做

import foo
foo.bar()

不起作用,因为只是跳过了断点。

1 个答案:

答案 0 :(得分:2)

方法:

from foo import bar
%debug --breakpoint /path/to/foo.py:10 bar()

这会将bar导入命名空间,并在模块第10行的断点处运行它。