如何在Python Jupyter notebook中借助断点实现类似Matlab的逐行调试
Jupyter Notebook 断点逐行调试操作说明
与Matlab F10功能对应的操作
你之前在Matlab中使用F10实现的是**单步跳过(Step Over)**功能,即执行当前行代码,不进入当前行调用的子函数内部,在Jupyter中有两种场景的对应操作:
场景1:使用pdb交互调试模式(兼容所有Jupyter版本)
如果你的断点触发后进入了命令行式的pdb交互界面,直接输入对应命令回车即可:
n/next:等同于Matlab F10的单步跳过功能s/step:单步进入(进入当前行调用的函数内部,对应Matlab F11)c/continue:继续运行直到遇到下一个断点q/quit:直接退出调试模式p [变量名]:打印指定变量的当前取值
小技巧:在代码单元格开头添加
%pdb on,代码运行报错时会自动触发断点进入调试模式,无需手动提前设置断点。
场景2:使用Jupyter Lab/Notebook 7+ 可视化调试器
如果你是通过界面侧边栏的调试按钮添加的可视化断点,触发断点后可以直接操作调试工具栏:
- 单步跳过(对应Matlab F10):点击工具栏上「下一步」图标(样式为向下箭头指向一行代码),默认快捷键就是
F10,如果快捷键和系统/其他软件冲突,可以在Jupyter设置的「快捷键」面板中搜索「调试:下一步」自定义绑定。 - 单步进入:点击箭头指向代码块的图标,默认快捷键
F11 - 单步跳出:点击箭头向上离开代码块的图标,默认快捷键
Shift+F11 - 继续运行:点击播放样式图标,默认快捷键
F5
注意:如果你需要调试从外部
.py文件导入的函数,需要在调试设置中开启「调试外部文件」选项,否则导入函数内部的断点不会生效。
内容的提问来源于stack exchange,提问作者Tyrone
相关产品推荐
相关产品推荐

