最全Pycharm教程(10)——Pycharm调试器总篇
最全Pycharm教程(4)——有关Python解释器的相关配置
最全Pycharm教程(6)——将Pycharm作为Vim编辑器使用
最全Pycharm教程(8)——Djangoproject的创建和管理
最全Pycharm教程(9)——创建并执行一个主要的Python測试程序
1、准备工作
(1)Pycharm版本号为3.0或者更高版本号
(2)至少安装了一个Python解释器而且已经正确配置
(3)已经创建了一个Pythonproject
2、主要内容
介绍怎样通过Pycharm来调试脚本文件,以及各个工具button的作用等等,至于Python编程方法,请參见Python documentation。
3、待复习知识
为了完毕本篇教程的内容,须要用到前面的两个重要知识点:
(1)Run/debug配置文件的相关知识
(2)断点的相关知识
4、Run/debug 配置知识
每当你通过Pycharm来执行或者调试一个脚本文件时,都须要一个特殊的文件来记录脚本的名称、工作文件夹以及其它的重要调试信息。
Pycharm已经针对特定模式预先创建好了配置文件。避免我们手动去创建。
每次你单击执行或者调试button时(或者通过快捷菜单执行同样的操作)。我们实际上都是在当前工作模式中载入了相应的配置文件。
5、断点
一个断点标记了一个代码行。当Pycharm执行到该行代码时会将程序临时挂起。Pycharm提供了几种形式的断点 types of breakpoints,其图标 icon各不同样。详见 product
documentation中的Breakpoints tutorial。
6、实例
在你的Pythonproject中,创建一个新的Python文件,命名为ThreadSample.py,然后输入下面代码:

7、设置断点
首先,在源代码中设置断点。通过单击代码左側的空白槽来在相应位置生成断点:

8、開始调试
选择 run/debug configuration "ThreadSample",然后按下Shift+F9(或者单击工具栏中的绿色蜘蛛形式的button),调试開始。并在第一个断点处停止:

断点所在的行变为蓝色,说明Pycharm已经击中了这个断点,但尚未运行这行代码。
9、更改调试窗体的布局
此时Pycharm进入调试界面模式Debug tool window,各个控件的详细功能详见know
how to use this tool window。
增加你并不喜欢当前的默认布局。比如你希望将调试器输出窗体作为一个独立的窗体显示以便更方便的观察当前的调试状态,你能够对布局进行个性化定制。
首先,我们先把调试工具窗体独立出来。仅仅须要右击窗体的标题栏。然后选择Floating mode:

接下来将控制台窗体移动成为一个独立的窗体,仅仅须要拖动控制台窗体将其拖出測试窗体就可以:

能够通过单击工具栏上的
button来恢复到默认布局。
很多其它信息请參见PyCharm Tool Windows和Moving
tabs and area
10、加入一个变量查看器
接下来我们介绍怎样在调试过程中观察变量的状态。我们须要对其设置一个查看器。
在Watches窗体中,单击绿色的加号。输入期望查看的变量名称,比如这里输入delay。然后回车。当然你也能够採用第二种方式:在编辑窗体中右击变量名,在快捷菜单中选择Add
to watches:
此时观察Watches窗体。发现delay变量眼下尚没有定义:

稍后你将会看到怎样对这个变量进行负值,以及其在watches窗体中的变化。接下来我们为get_thread_name()函数设置一个查看器作为练习。
11、浏览帧
此时你能看到一个名为MainThread的进程,当中包括三帧。单击每一帧来显示其变量状态以及相相应的py文件。同一时候会对有问题的代码行以高亮显示:

12、简单的调试
在每一个断点出都单击
button来时程序继续执行,观察控制台的脚本输出:

13、步进式脚本调试
让我们对当前脚本进行进一步的调试。单击
重新启动调试进程,程序再次执行到第一个断点处并暂停。
在调试窗体的顶端。你会看到一列包括步进调试按钮的工具栏 stepping buttons。
单击
,或者按下F8,你会发现蓝色标记移动到了下一行:

与此同一时候,当你暂停了脚本运行时(单击
button),你能看到高亮表示的函数print_time(),你能够选择当中的不论什么一个进程,并观察变量的变化:

14、执行到当前光标处
假如你不想增加断点。但仍希望代码可以调试执行到某一指定的代码行。怎样操作?
返回调试界面的第二个断点处,在相应行插入输入光标。

单击
button,或者按下Alt+F9快捷键,该行代码变为高亮显示:

15、怎样调用Debug命令
值得一提的是全部的调试操作不只能够通过调试工具栏的相应button来完毕,还能够通过主菜单中Run菜单下的命令来实现,以及相关的快捷菜单项。
以下给出一些经常使用的调试菜单命令及其相应的快捷键列表:

很多其它控件描写叙述參见Debug tool window。
最全Pycharm教程(10)——Pycharm调试器总篇的更多相关文章
- 用python开发调试器——起始篇
首先,你得准备一套python开发环境,正常情况下,一般是在windows下开发的,因为win系统应用广泛,再则就是要有个IDE,这里我选择我熟悉的Eclipse.环境搭建,网上都有,比如:http: ...
- 最全Pycharm教程(11)——Pycharm调试器之断点篇
最全Pycharm教程(1)--定制外观 最全Pycharm教程(2)--代码风格 最全Pycharm教程(3)--代码的调试.执行 最全Pycharm教程(4)--有关Python解释器的相关配置 ...
- 最全PyCharm教程
最全PyCharm教程--for python PyCharm简介: PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrai ...
- PyCharm 教程
转自:http://blog.csdn.NET/u013088062/article/details/50388329 作者:山在岭就在 之间花了一周多的时间把Pycharm官方帮助文档翻译了一遍,一 ...
- MicroPython最全资料集锦丨TPYBoard全系列教程之文档+例程源码
MicroPython成功将Python引入到嵌入式领域,近几年MicroPython的发展和普及也证明,Python无疑将在未来几年内快速抢占和蚕食C/C++的份额.包括现在比较火爆的机器人.无人机 ...
- 最全PyCharm教程--for python
PyCharm简介: PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手. 同时支持Google App E ...
- 震惊!最全PyCharm教程
PyCharm PyCharm是一个用于计算机编程的集成开发环境(IDE),主要用于Python语言开发,由捷克公司JetBrains开发,提供代码分析.图形化调试器,集成测试器.集成版本控制系统(V ...
- PyCharm 教程(五)断点 调试
PyCharm 教程(五)断点 调试 PyCharm 作为IDE,断点调试是必须有的功能.否则,我们还真不如用纯编辑器写的快. [运行]和[调试]前的设置,详见前面的文章,helloword. 1,设 ...
- linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名
PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...
随机推荐
- HDU Integer's Power(容斥原理)
题意 求[l,r]的最大指数和(1<=l,r<=10^18) 最大指数和(如64=8^2=4^3=2^6,所以64的最大指数和是6) 题解 很明显我们可以先求出[1,n]的最大指数和,然后 ...
- CF1029E Tree with Small Distances (贪心)
题目大意:给你一棵边权为1的树,让你加入一些边,使得根节点(1号节点)到其他节点的最短距离不大于2 并没有想到贪心...... 正解的贪心思路是这样的 用一个堆维护当前距离最远的点,然后把根节点和它的 ...
- python做的 QQ未读消息图像
#!/usr/bin/pythonfrom PIL import Image ,ImageDraw, ImageFont#打开所在的文件im=Image.open('test.jpg')#获取图片对象 ...
- WPF 内部的5个窗口之 MediaContextNotificationWindow
原文:WPF 内部的5个窗口之 MediaContextNotificationWindow 本文告诉大家在 WPF 内部的5个窗口的 MediaContextNotificationWindow 是 ...
- myssql数据库表名转驼峰 - PLAY - ITeye博客
原文:myssql数据库表名转驼峰 - PLAY - ITeye博客
- Java基础学习总结(30)——Java 内存溢出问题总结
Java中OutOfMemoryError(内存溢出)的三种情况及解决办法 相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各 ...
- Linux系统信息查看命令大全[转]
系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinf ...
- Qt之QNetworkProxy(网络代理)
简述 QNetworkProxy类提供了一个网络层代理. QNetworkProxy提供了配置网络层代理支持Qt网络类的方法.目前支持的类有QAbstractSocket.QTcpSocket.QUd ...
- 关于functioncharts饼状图篇
关于functioncharts饼状图(仅限饼状图) TODO: 1.饼状图没有数据情况下,显示:no data to display 2,解决的方法:自己定义处理.显示图像或其他内容
- hdu4089Activation 概率dp
//一条队列对于第一个人的情况 //概率p1:队列保持不变 //p2:第一个人到队尾 //p3:第一个人出队 //p4:系统崩溃 //队列中有N个人,Tomato 在第M位置,求系统崩溃.Tomato ...