在 ipython 控制台中调试魔术功能
debug magic function in ipython console
我有一个名为 foo.py 的文件。在该文件中,我有一堆函数,我想通过设置断点而不是使用 set_trace
对其进行硬编码来调试其中一个函数,称为 foo.bar
。我在 IPython 控制台中工作,我知道有一个 %debug
魔法函数可用于此目的,语法为:
%debug [--breakpoint FILE:LINE]
所以我试试
%debug --breakpoint foo.py:10
在第 10 行设置断点。但是,我如何实际执行代码以便 IPython 识别断点?正在做
import foo
foo.bar()
不工作,因为断点被简单地跳过了。
实现方式:
from foo import bar
%debug --breakpoint /path/to/foo.py:10 bar()
这会将 bar
导入命名空间并 运行 它与模块第 10 行的断点。
我有一个名为 foo.py 的文件。在该文件中,我有一堆函数,我想通过设置断点而不是使用 set_trace
对其进行硬编码来调试其中一个函数,称为 foo.bar
。我在 IPython 控制台中工作,我知道有一个 %debug
魔法函数可用于此目的,语法为:
%debug [--breakpoint FILE:LINE]
所以我试试
%debug --breakpoint foo.py:10
在第 10 行设置断点。但是,我如何实际执行代码以便 IPython 识别断点?正在做
import foo
foo.bar()
不工作,因为断点被简单地跳过了。
实现方式:
from foo import bar
%debug --breakpoint /path/to/foo.py:10 bar()
这会将 bar
导入命名空间并 运行 它与模块第 10 行的断点。