Pycharm 开发环境的调试
进行调试的核心是设置断点。程序执行到断点时,暂时挂起,停止执行。就像看视频按下暂停一样,我们可以详细的观看暂停处的每一个细节,就可以看清楚程序运行的来龙去脉。
断点
程序运行到此处,暂时挂起,停止执行。我们可以详细在此时观察程序的运行情况,方便做出进一步的判断。
- 设置断点:
(1) 在行号后面单击即可增加断点
(2) 在断点上再单击即可取消断点
进入调试视图
通过如下三种方式都可以进入调试视图:
(1) 单击工具栏上的按钮:
(2) 右键单击编辑区,点击:debug ‘模块名’
(3) 快捷键:shift+F9
进入调试视图后,布局如下:
左侧为“浏览帧”:
调试器列出断点处,当前线程正在运行的方法,每个方法对应一个“栈帧”。最上面的是当前断点所处的方法。
白字,被深蓝色填充的一行表示当前选中的方法;
黑字,被白色填充的是正在运行中的方法,且按照入栈、出栈的规则排列顺序;
灰字,被淡黄色填充的是程序中有但没正在栈中运算的方法。
变量值观察区:
调试器列出了断点处所在方法相关的变量值。我们可以通过它,查看变量的值的变化。
也可以通过下图红色箭头标记的按钮增加要观察的其他变量,下图中就增加了对__name__变量的察看。
通过自行添加的观察变量可以实现在程序运行的全程着重观察某一个或多个变量的变化。
调试操作区
被深蓝色填充的这一行表示程序执行到了此行暂停下来,此行以前的代码已经运行完毕,此行还没开始运行。例如下图:
调试操作按钮
通过上图中的按钮可以进行调试操作,它们的含义如下:
中文名称 | 英文名称 | 图标和快捷键 | 说明 |
---|---|---|---|
显示当前所有断点 | Show Execution Point | Alt+F10 | 点击后可以自动将指示输入位置的闪动光标自动移动到断点行 |
单步调试:遇到函数跳过 | Step Over | F8 | 若当前执行的是一个函数,则会把这个函数当做整体一步执行完。不会进入这个函数内部 |
单步调试:遇到函数进入 | Step Into | F7 | 若当前执行的是一个函数,则会进入这个函数内部 |
跳出函数 | Step Out | Shift+F8 | 当单步执行到子函数内时,用 step out就可以执行完子函数余下部分,并返回到上一层函数 |
执行到编辑光标处 | Run to Cursor | Alt+F9 | 一直执行,到编辑光标处停止,用在循环内部时,点击一次就执行一个循环 |
不管点击哪个按钮,遇到断点总会暂停。
调试时运行报错,系统自动断点
Debug界面左侧下图红箭头指向的按钮,View Breakpoints,意思是查看当前项目中所有断点。
点击后会弹出一个新的窗口,如下图所示
上图中红色箭头指向的功能,Any exception,实心闪电符号,如果调试运行代码过程中系统报错,就会在那行代码的行号后面标记实心闪电符号并暂停在那里。类似下图。