我所知,%debug magic
可以在一个单元内进行调试。
但是,我有跨多个单元格的函数调用。
例如,
In[1]: def fun1(a)
def fun2(b)
# I want to set a breakpoint for the following line #
return do_some_thing_about(b)
return fun2(a)
In[2]: import multiprocessing as mp
pool=mp.Pool(processes=2)
results=pool.map(fun1, 1.0)
pool.close()
pool.join
我尝试过的:
我尝试设置%debug
在 cell-1 的第一行。但它会立即进入调试模式,甚至在执行 cell-2 之前。
我尝试添加%debug
在代码之前的行中return do_some_thing_about(b)
。但代码会永远运行,永远不会停止。
在 ipython 笔记本中设置断点的正确方法是什么?
您可以使用ipdb
在 jupyter 内部:
from IPython.core.debugger import Tracer; Tracer()()
Edit:自 IPython 5.1 起,上述函数已被弃用。这是新方法:
from IPython.core.debugger import set_trace
Add set_trace()
需要断点的地方。类型help
for ipdb
当输入字段出现时命令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)