spyder的调试功能是基于pdb,官方文档地址http://pythonhosted.org/spyder/,下面以简单的示例程序演示spyder的运行、调试功能。
#!/usr/bin/python # -*- coding:utf-8 -*- """ Created on Fri Jun 25 18:26:08 2021 @author: ZZKOOK @site: www.zzkook.com @email: zzkook@126.com """ a = 'a' b = 'b' c = 'c' e = 'e' f = 'f' g = 'g' h = 'h' print(a)
新建文件,拷贝上面的代码。
一、运行程序
1)选中部分代码运行
在左侧编辑窗口中用鼠标选中所要运行的部分代码,然后按F9键,即可在右下角的console窗口中看到其执行的结果。

2)运行整个文件
直接点击F5或者在菜单栏点击Run->Run,既可以执行整个文件,其结果依然显示在右下角console窗口。具体显示如下:

二、调试程序
1.不打断点的Debug
点击spyder工具栏上的Debug file按钮,或者使用快捷键Ctrl+F5开始调试。

在右下角的ipython cosole界面会输出如图所示的内容:

ipdb提示符说明已经进入了调试模式,上面输出的内容是代码的第一行,接着在提示符中输入c(continue的缩写,表示程序继续向下执行到下一个断点),按Enter键会输出如下内容:

程序执行到文件结束,可见即使没有打断点,仍然会在第一句执行之前中断(经测试,中断的时候第一句还没有执行)。
2.断点调试
将鼠标移动到想打断点的那一行行首,出现一个暗红的圆点,此时点击一下即可(此外,还可在程序中使用pdb.set_trace()设置断点),如图所示:

在每次开始debug之前,先在spyder的ipython界面中输入
%reset
把工作空间的所有变量清除,以免影响到我们接下来的测试。按下Ctrl+F5开始debug。具体显示如下:
可以在左侧编辑窗口观察到当前执行的代码行,在右侧的console窗口观测执行的输出。此时代码就执行到了断点处,从箭头(–>)以及console窗口中的continue
> d:\projects\stock\untitled1.py(15)<module>()可以看出具体到达的位置。
> d:\projects\stock\untitled1.py(15)<module>()可以看出具体到达的位置。
点击右侧上方的帮助区域中的Variable explorer标签栏,就可以看到当前系统中有效的变量,如下所示:

此外,还可以在ipython console窗口中的ipdb>后输入!f,显示*** NameError: name 'f' is not defined表示该行代码还没有被执行。
使用快捷键Ctrl+F10,或点击工具栏上的单行执行按钮,如下:

可继续以单步方式完成整个代码的执行。
三、终止程序运行
1)如果是想让程序在运行中自动终止退出,只需在程序中加一行代码:
exit()
2)如果是想让正在执行的程序中止(例如,处理死循环),快捷键:
ctrl+c
四、调试相关快捷键
运行 F5
调试 Ctrl+F5
打断点 / 取消断点 F12
单步调试,跳过函数内部实现 Ctrl+F10
单步调试,进入函数内部实现 Ctrl+F11
从当前光标所在行开始执行 F9
查看编译结果(包括Erro和Warning信息) F8
全屏 F11
系列教程:
著作权归作者所有。商业转载请联系本站作者获得授权,非商业转载请注明出处 ZZKOOK。
评论
好话一句三冬暖,恶语一声六月寒。
加油
没话说
码农们加油。