最全PyCharm教程
最全PyCharm教程--for python

详细使用说明(附超链接):
- 最全Pycharm教程(1)——定制外观
- 最全Pycharm教程(2)——代码风格
- 最全Pycharm教程(3)——代码的调试、运行
- 最全Pycharm教程(4)——有关Python解释器的相关配置
- 最全Pycharm教程(5)——Python快捷键相关设置
- 最全Pycharm教程(6)——将Pycharm作为Vim编辑器使用
- 最全Pycharm教程(7)——虚拟机VM的配置
- 最全Pycharm教程(8)——Django工程的创建和管理
- 最全Pycharm教程(9)——创建并运行一个基本的Python测试程序
- 最全Pycharm教程(10)-----——Pycharm调试器总篇(本篇下面内容)
1、准备工作
(1)Pycharm版本为3.0或者更高版本
(2)至少安装了一个Python解释器并且已经正确配置
(3)已经创建了一个python工程
2、主要内容
介绍如何通过Pycharm来调试脚本文件,以及各个工具按钮的作用等等,至于Python编程方法,请参见Python documentation。
3、待复习知识
为了完成本篇教程的内容,需要用到前面的两个重要知识点:
(1)Run/debug配置文件的相关知识
(2)断点的相关知识
4、Run/debug 配置知识
每当你通过Pycharm来运行或者调试一个脚本文件时,都需要一个特殊的文件来记录脚本的名称、工作目录以及其他的重要调试信息。Pycharm已经针对特定模式预先创建好了配置文件,避免我们手动去创建。
每次你单击运行或者调试按钮时(或者通过快捷菜单执行相同的操作),我们实际上都是在当前工作模式中加载了对应的配置文件。详见product documentation。
5、断点
一个断点标记了一个代码行,当Pycharm运行到该行代码时会将程序暂时挂起。Pycharm提供了几种形式的断点 types of breakpoints,其图标 icon各不相同。详见 product documentation中的Breakpoints tutorial。
6、实例
在你的Python工程中,创建一个新的Python文件,命名为ThreadSample.py,然后输入以下代码:

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

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

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

接下来将控制台窗口移动成为一个独立的窗口,只需要拖动控制台窗口将其拖出测试窗口即可:

可以通过单击工具栏上的
按钮来恢复到默认布局。
更多信息请参见PyCharm Tool Windows和Moving tabs and area
10、添加一个变量查看器
接下来我们介绍如何在调试过程中观察变量的状态。我们需要对其设置一个查看器。在Watches窗口中,单击绿色的加号,输入期望查看的变量名称,例如这里输入delay,然后回车。当然你也可以采用另外一种方式:在编辑窗口中右击变量名,在快捷菜单中选择Add to watches:
此时观察Watches窗口,发现delay变量目前尚未定义:

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

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

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

与此同时,当你暂停了脚本执行时(单击
按钮),你能看到高亮表示的函数print_time(),你可以选择其中的任何一个进程,并观察变量的变化:

14、运行到当前光标处
假如你不想加入断点,但仍希望代码能够调试运行到某一指定的代码行,如何操作?
返回调试界面的第二个断点处,在对应行插入输入光标。

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

15、如何调用Debug命令
值得一提的是所有的调试操作不仅仅可以通过调试工具栏的对应按钮来完成,还可以通过主菜单中Run菜单下的命令来实现,以及相关的快捷菜单项。下面给出一些常用的调试菜单命令及其对应的快捷键列表:

更多控件描述参见Debug tool window。
最全PyCharm教程的更多相关文章
- 最全Pycharm教程(11)——Pycharm调试器之断点篇
最全Pycharm教程(1)--定制外观 最全Pycharm教程(2)--代码风格 最全Pycharm教程(3)--代码的调试.执行 最全Pycharm教程(4)--有关Python解释器的相关配置 ...
- 最全Pycharm教程(10)——Pycharm调试器总篇
最全Pycharm教程(1)--定制外观 最全Pycharm教程(2)--代码风格 最全Pycharm教程(3)--代码的调试.执行 最全Pycharm教程(4)--有关Python解释器的相关配置 ...
- 震惊!最全PyCharm教程
PyCharm PyCharm是一个用于计算机编程的集成开发环境(IDE),主要用于Python语言开发,由捷克公司JetBrains开发,提供代码分析.图形化调试器,集成测试器.集成版本控制系统(V ...
- 最全Pycharm教程(26)——Pycharm搜索导航之文件名、符号名搜索(转)
1.准备一个工程 向你的工程中添加一个Python文件,并输入一些源码,例如: 2.转到对应文件.类.符号 Pycharm提供的一个很强力的功能就是能够根据名称跳转到任何文件.类.符号所在定义位置. ...
- 最全PyCharm教程--for python
PyCharm简介: PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手. 同时支持Google App E ...
- 最全Pycharm教程(38)——Pycharm版本号控制之远程共享
1.主题 介绍怎样通过GitHub共享你的本地Git版本号库 2.准备工作 (1)Pycharm版本号为2.7或者更高 (2)Git以及GitHub可用 (3)有GitHub storage的读写权限 ...
- 最全Pycharm教程(29)——再探IDE,速成手冊
1.准备工作 (1)确认安装了Python解释器,版本号2.4到3.4均可. (2)注意Pycharm有两个公布版本号:社区版和专业版,详见 Edition Comparison Matrix 2.初 ...
- 最全Pycharm教程(28)——Pycharm搜索导航之搜索应用实例
1.主题 这里我们将介绍Pycharm另外一项强力的搜索导航功能.如果你希望知道某个特定的类或方法都在project中的哪些地方发挥了作用.也就是找出其全部的usages,这将是一个很巨大而繁琐的pr ...
- 最全Pycharm教程(32)——依据FHS在Linux上安装Pycharm
1.主题 怎样在Linux上安装Pycharm,依据FHS. 2.平台要求 Intel Pentium III/800 MHz或更高. 内存最小512M.建议1G以上 屏幕最小分辨率1024x768 ...
随机推荐
- hibernate5(12)注解映射[4]一对一外键关联
在实际博客站点中,文章内容的数据量非常多,它会影响我们检索文章其他数据的时间,如查询公布时间.标题.类别的等. 这个时候,我们能够尝试将文章内容存在还有一张表中,然后建立起文章--文章内容的一对一映射 ...
- ACE .i .inl文件(转)
在ACE的源代码目录里,有源文件.cpp.头文件.h,我们还发现有以.i和.inl为扩展名的文件.其实,以.i和.inl为扩展名的文件是ACE源码中inline函数的存放形式. 在说明ACE中为什么采 ...
- Apache禁止显示目录结构
打开文件:httpd-vhosts.conf: 禁止显示Apache目录列表-Indexes FollowSymLinks如何修改目录的配置以禁止显示 Apache 目录列表.缺省情况下如果你在浏览器 ...
- oracle 清空表数据的2种方式及速度比较
1.情景展示 现在,需要清空该表数据 2.实现方式 为了比较删除速度,对该表进行复制 确认复制的表和原来的表数据是否一致 方式一:使用truncate table实现 方式二:使用de ...
- excel文件批量重命名
1.创建bat文件 2.在文件内输入以下格式的内容并保存,注意期间有空格 ren 1.txt 0011.txt ren 2.txt 0021.txt ren 3.txt 0031.tx ...
- javascript判断是否按回车键
function enterHandler(event){ var keyCode = event.keyCode ? event.keyCode : event.which ? event.whic ...
- Mysql分页之limit用法与limit优化
Mysql limit分页语句用法 与Oracle和MS SqlServer相比,mysql的分页方法简单的让人想哭. --语法: SELECT * FROM table LIMIT [offset, ...
- 简单原始的ASP.NET WEBFORM中多文件上传【参考其他资料修改】
首先是ASPX页面中添加file标签 <input onclick="addFile()" type="button" value="增加&qu ...
- df看到的文件系统容量跟parted看到的分区容量差别较大的解决方法
下午同事在自己的开发机上遇到题目说到的问题,它看到挂在到/dev/sda磁盘分区5上的ext4文件系统的容量显著小于该分区的大小 df看到的文件系统容量: #df -h /dev/sda5 Files ...
- Socket编程:之双机通信
服务端: #include<sys/socket.h> #include<sys/types.h> #include<stdio.h> #include<un ...