最全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 ...
随机推荐
- Mybatis传递多个参数的解决办法(三种)
第一种方案 DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id="s ...
- sql知识小记
1.在sql语句中,单引号嵌套时,使用单引号做转义
- 重载和const形参
1.int lookup(string p); 2.int lookup(const string p);//同1 3.int lookup(string *);//传入一个指针,指针指向string ...
- pandas 8 画图
from __future__ import print_function import pandas as pd import numpy as np import matplotlib.pyplo ...
- jquery及相关兼容插件的版本搭配
1.jquery1.11.0 + jquery.validate.1.9.0.js + jquery.ui.1.10.4.js
- [Angular + TsLint] Disable directive selector tslint error
@Directive({ // tslint:disable-next-line:directive-selector selector: '[scrollable]' })
- LightOJ - 1132 Summing up Powers 矩阵高速幂
题目大意:求(1^K + 2^K + 3K + - + N^K) % 2^32 解题思路: 借用别人的图 能够先打表,求出Cnm,用杨辉三角能够高速得到 #include<cstdio> ...
- mysql-面试题目1
一.数据库的ACID 原子性(Atomicity):保证事务中的所有操作全部执行或全部不执行. 一致性(Consistency):保证数据库始终保持数据的一致性——事务操作之前和之后都是一致的. 隔离 ...
- [javase学习笔记]-8.8 构造代码块
这一节我们再看一个特殊的代码块.那就是构造代码块. 这里我们简单的通过样例来说明一下: class Person { private String name; { System.out.println ...
- 由动态库文件dll生成lib库文件
本文基于OpenBlas的编译和安装.来说明怎样从一个dll文件生成lib库文件. 參考OpenBlas的说明"Howto generate import library for MingW ...