这篇教程使用spyder3调试python程序的实现步骤写得很实用,希望能帮到您。 说是简明教程,其实是我自己尝试用spyder调试python程序的过程的一个记录,因为spyder的调试功能是基于pdb,而我又没有pdb的基础,所以刚开始上手时感觉很不习惯,而且那时我又很懒,没去找官方文档,仅仅在百度和csdn上找了找,没找到比较好的资料,于是放弃了,过了一段时间之后,突然又心血来潮,去找了官方文档,外加自己的一些尝试,总算入门了spyder的调试功能,特地记录下来与大家共享,我使用的spyder版本是3.1.4(使用pip list命令查看spyder版本)
Spyder官方文档地址http://pythonhosted.org/spyder/
开始调试先写一个简单的小程序用于调试: # -*- coding: utf-8 -*-"""Created on Mon Aug 28 23:59:40 2017@author: 燃烧杯"""a = 'a'b = 'b'c = 'c'e = 'e'f = 'f'g = 'g'h = 'h'print(a) 我们暂时先不打断点,用debug的方式运行该代码试试 
点击spyder工具栏上的Debug file按钮,或者使用快捷键Ctrl+F5开始调试。 在ipython界面会输出如图所示的内容: 
出现了ipdb提示符,说明我们已经进入了调试模式,上面输出的内容可以看出是代码的第一行,接着在提示符中输入c(continue的缩写,表示程序继续向下执行到下一个断点),会输出如下内容: 
程序执行结束,可见即使我们没有打断点,仍然会在第一句执行之前中断(经测试,中断的时候第一句还没有执行),这个和我用过的其他编译器不太一样(比如eclipse和IntelliJ,在不打断点的情况下会正常执行到底),一开始还让我困惑了一下,后来就适应了. 如果你仔细看刚才的工具栏截图的话,会发现在debug按钮组的第五个按钮和刚刚的c 命令是一样的功能,但是不知道为什么,在我这个版本的spyder里有这个按钮一些bug(具体来说就是在程序执行结束之后不会自动退出pdb,而且之后再想使用q 命令退出也退出不了,换而言之,就是卡死在了pdb里面),如果你使用的是更高版本的spyder的话,这个bug可能已经修复了,可以尝试一下.
打断点的两种姿势
普通的breakpoint用spyder打断点的方法非常简单,只要在想打断点的那一行行首双击鼠标即可,如图所示,我们尝试建立一个断点: 
在每次开始debug之前,先在spyder的ipython界面中输入%reset 把工作空间的所有变量清除,以免影响到我们接下来的测试. 按下Ctrl+F5开始debug,进行如图所示的操作: 
然后我们就到达了断点处,从箭头( 利用Python发送 10 万个 http 请求 Python定时库APScheduler的原理以及用法示例 |