为了调试我的 python 代码,我使用ipdb
库,并使用set_trace()
命令放置断点。一旦代码到达那里,我会得到一个带有ipdb>
提示的交互式 shell,我可以使用选项卡自动完成来探索局部变量。
但是,在 IPython (Jupyter) 笔记本ipdb.set_trace()
中不起作用。正如这篇文章所建议的那样:
使用 ipdb 在一个单元格中调试 python 代码(jupyter 或 Ipython)
我使用以下替代方法进行交互式调试:
from IPython.core.debugger import Tracer
Tracer()() #this one triggers the debugger
这给了我ipdb>
提示,但选项卡自动完成功能不可用。是否有使用 ipython notebook 启用交互式调试的自动完成功能?这非常有用,特别是当您有很多具有长名称的变量时。