最全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 ...
随机推荐
- servlet中Session的用法
## (1)什么是Session? 服务器端为了保存用户的状态而创建的一个特殊的对象(即session对象). 当浏览器第一次访问服务器时,服务器会创建session对象(该 ...
- LeetCode Golang实现 1. 两数之和
1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这 ...
- c/s结构的自动化——pyautogui
环境:Python 3.5.3 pip install pyautogui -i http://pypi.douban.com/simple --trusted-host pypi.douban.co ...
- 全国所有省市县地理坐标Json格式
https://www.cnblogs.com/yzbubble/p/7707129.html
- vue生命周期-学习心得
每个Vue实例在被创建之前都要经过一系列的初始化过程,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.销毁等一系列过程,这个过程就是vue的生命周期. 1 vue生命周期图 {: ...
- 越努力越幸运--3-日常bug修复
提供一个so给PYTHON调用,后端发现业务处理流程不是按照方法传入的参数来跑. 查看c的代码,看了客户端没看出什么问题,查看服务端为什么会出现这样的情况,有些字段明显不是入参带过来的,跟踪服务端解析 ...
- Keepalived原理及VRRP协议与应用配置(详细)
转载自:https://blog.csdn.net/u010391029/article/details/48311699 1. 前言 VRRP(Virtual Router Redundancy P ...
- 高并发web系统设计
转载自:http://blog.csdn.net/qq_26562641/article/details/53170913 一.一般高并发web系统这里的一般指的是秒杀之类的电子商务系统,比如说小米抢 ...
- Object-C学习比较费劲的3点原因
作为一名有8年编程经验的资历不浅的程序员,学习Object-C和iOS,感觉效率有点低,至少和学习Android比起来,慢的不是一点点. 主要有以下3个原因: 1.Object-C,和C系列的语言(C ...
- Android里使用正則表達式
在Android里怎样使用正則表達式: 以验证username为例.username一般字母开头,同意字母数字下划线.5-16个字节: String regEx = "^[a-zA-Z][a ...