本节我们来学些一下程序的调试,有的同学会有疑问,我们运行程序不就可以看调试的结果吗,但是大家需要知道,程序的设计是要有逻辑性的,自上而下的设计结构有利于我们对程序的理解,所以我们保证程序自上而下更有利用于开发,而调试就是帮助我们完成这种设计理念的最佳方式,下面我们学习两种调试方式,一种使用IDLE中自带的调试功能,一种使用assert语句进行调试。

1. 使用IDLE调试

       1) 开启调试模式

不知道大家在使用IDLE的时候有没有发现上面的‘Debug’选项,

     python程序调试1

在‘Debug’选项中又有一个名为‘Debugger’的选项,我们点击一下会出现下图的界面,中间的[DEBUG ON]表示以开启调试状态。

     python程序调试2

       2) 打开或创建一个预调试文件

python程序调试3

       3) 添加断点

添加方式:右击想要添加的语句,然后在弹出的菜单中选择Set Breakpoint,即添加了相应的断点,如果要清楚断点,相同的方式选择Clear Breakpoint。

断点的作用是程序执行到断点就中断执行,我们可以查看当前状态下的变量等信息。

添加断点之后如下图:

     

python程序调试4

       4) 工具按钮及界面

python程序调试5

按钮的作用:

Go:执行到断点处。

Step:进入要执行的函数

Over:单步执行

Out:跳出当前函数

Quit:结束按钮

python程序调试6

       5) 调试方式

我们调试的时候,在程序界面按F5开始,按Go开始执行到第一个断点,我们可以观察变量n的值。

python程序调试7

第一次断点的时候,m为5,n为20,再按Go按钮进入下一个断点。

python程序调试8

此时n的值发生改变,我们再按一次Go进入下个断点。

python程序调试9

n的值再次发生改变,后续无断点,按Go后结束。

       6) 关闭界面结束调试

python程序调试10

调试完成。

2. 总结

通过IDLE自带的程序调试功能能够帮助我们逐步分析程序中的全局变量,还可以通过行的定位看出当前函数的局部变量,当我们把一个局部变量变成全局变量的时候,也可以通过断点后的测试直接查看到局部变量转换到了全局变量中,这种调试方式还能帮助我们去理解他人的程序,能给我们的学习提供很大的帮助。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)