在iPython笔记本中,正确的调试方法是什么?

146

据我所知,%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

我尝试过:

  1. 我尝试在cell-1的第一行设置%debug,但它会立即进入调试模式,甚至在执行cell-2之前就进入了调试模式。

  2. 我尝试在代码return do_some_thing_about(b)之前的行中添加%debug。 但然后代码会无限运行,永远不会停止。

在ipython笔记本中设置断点的正确方法是什么?


1
很遗憾,回答“不要使用Jupyter笔记本”不能算作一个答案。 - Gulzar
11个回答

0
在 VsCode 中
文件 -> 首选项 -> 设置 -> 打开设置(JSON)[位于右上角的小页面图标]
将这行代码粘贴到末尾
"jupyter.experimental.debugging": true

现在你应该在顶部导航栏中看到调试选项

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接