最全Pycharm教程(11)——Pycharm调试器之断点篇
最全Pycharm教程(4)——有关Python解释器的相关配置
最全Pycharm教程(6)——将Pycharm作为Vim编辑器使用
最全Pycharm教程(8)——Djangoproject的创建和管理
最全Pycharm教程(9)——创建并执行一个主要的Python測试程序
1、准备工作
(1)Pycharm版本号为3.0或者更高
(2)至少安装了一个Python解释器
(3)已经创建了一个Pythonproject
(4)使用Debugger tutorial正在调试处理一个实例
2、什么是断点
Pycharm提供了多种不同类型的断点types of breakpoints,并都有特定的图标icon。本篇教程中我们将具体介绍行断点,即标记了一行待挂起的代码。
3、断点属性
有两种方法来浏览和改变代码属性:
(1)首先,有一个单独的置顶窗体来显示断点属性。
(2)有一个断点对话框 Breakpoints dialog来显示当前应用中所存在的全部断点及其属性。
4、设置断点
选中相应代码行,然后运行以下步骤(二选一):
(1)单击左边空白槽
(2)按下Ctrl+F8快捷键
这是一个触发开关式的操作。即能够不断的反复操作以移除/加入断点。
作为练习。在第16行设置断点:

5、浏览并改变断点属性
为了浏览单独一个断点的属性,仅仅需右击它就可以:

6、启用和关闭断点
首先。清空复选框中的Line 16 in ThreadSample.py enabled选项,此时断点会失效。同一时候图标中心会变为绿色:

OK。再次勾选复选框,图标恢复原状,断点生效。
7、条件性代码悬挂
如果你希望Pycharm在当前代码处仅仅挂起某一个线程,而其它线程可以正常通过断点。操作很easy,为断点加入一个条件就可以:

接下来我们開始脚本调试(单击工具栏中的
button)。你会看到实际上Pycharm仅仅在当前断点处挂起了Thread-7,而Thread-6正常通过了该断点:

8、怎样忽略某些断点?
通常情况下,你仅仅须要在某一个断点处停下来,而希望在其它断点可以正常通过。换句话说就是我们并不希望Pycharm在断点处停止,但我们仍须要保留相应断点来作为标记。怎样实现?
在对话框中取消Suspend复选框的勾选,此时断点属性对话框中会显示更具体的信息:

勾选一下两个选项:
(1)Log messages to console:选中这个选项后,Pycharm会在命中该断点后在控制台上显示相关重要信息。
(2)Log evaluated expressions:选中这个选项之后。Pycharm会计算下方输入框中给出的特定表达式并显示在控制台上。

顺便说一下,在下发输入框中输入表达式时Pycharm相同提供了拼写提示功能(Ctrl+空格)。OK,又一次执行调试,Pycharm会在调试控制台中显示一下信息:
应用的基本信息。
击中断点时的注冊信息
表达式的计算结果

9、浏览全部断点
以上你使用到的全部断点相关的对话框都能帮助你获取断点的大部分重要信息。只是我们通常使用 Breakpoints dialog对话框来完毕大部分断点处理工作,它会显示当前项目中的全部断点的属性信息,并方便我们对其进行更改。
我们能够通过下面几种方式来打开这个对话框:
(1)Ctrl+Shift+F8快捷键
(2)在主菜单中选中Run → View Breakpoints
(3)在断点属性快捷对话框中单击More (Ctrl+Shift+F8)
(4)在调试窗体中单击
button。
10、创建一个暂时断点
如果你希望这样一个断点。即Pycharm在命中它之后就将命中的断点删除。
Pycharm提供了一个特殊的复选项Remove once hit,默认情况下是不会启动这个机制的。
增加Suspend复选框已经选中,接下来再选中Remove once hit复选框,观察断点的图标的变化:

又一次调试,发现Pycharm仅仅会在断点处暂停一次,之后便会将其移除。以保证之后的程序运行不会受到阻碍:

最全Pycharm教程(11)——Pycharm调试器之断点篇的更多相关文章
- PyCharm 教程
转自:http://blog.csdn.NET/u013088062/article/details/50388329 作者:山在岭就在 之间花了一周多的时间把Pycharm官方帮助文档翻译了一遍,一 ...
- MicroPython最全资料集锦丨TPYBoard全系列教程之文档+例程源码
MicroPython成功将Python引入到嵌入式领域,近几年MicroPython的发展和普及也证明,Python无疑将在未来几年内快速抢占和蚕食C/C++的份额.包括现在比较火爆的机器人.无人机 ...
- 最全Pycharm教程(10)——Pycharm调试器总篇
最全Pycharm教程(1)--定制外观 最全Pycharm教程(2)--代码风格 最全Pycharm教程(3)--代码的调试.执行 最全Pycharm教程(4)--有关Python解释器的相关配置 ...
- 最全PyCharm教程
最全PyCharm教程--for python PyCharm简介: PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrai ...
- 最全PyCharm教程--for python
PyCharm简介: PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手. 同时支持Google App E ...
- PyCharm 教程(五)断点 调试
PyCharm 教程(五)断点 调试 PyCharm 作为IDE,断点调试是必须有的功能.否则,我们还真不如用纯编辑器写的快. [运行]和[调试]前的设置,详见前面的文章,helloword. 1,设 ...
- linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名
PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...
- PyCharm 教程(四)显示行号
PyCharm 教程(四)显示行号 在PyCharm 里,显示行号有两种办法: 1,临时设置.右键单击行号处,选择 Show Line Numbers. 但是这种方法,只对一个文件有效,并且,重启Py ...
- PyCharm远程开发和调试
PyCharm进行远程开发 1.背景 在Windows开发Python或Web应用程序,但是它们最后需要在linux上面来运行 2.解决办法 2.1 使用PyCharm内置支持的Vagrant 2.2 ...
随机推荐
- [ 原创 ]学习笔记-做一个Android音乐播放器是遇到的一些困难
最近再做一个安卓的音乐播放器,是实验室里学长派的任务,我是在eclipse上进行开发的,由于没有android的基础,所以做起来困难重重. 首先是布局上的困难 1.layout里的控件属性不熟悉 2. ...
- codevs 2596 售货员的难题
2596 售货员的难题 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 钻石 Diamond 题目描述 Description 某乡有n个村庄(1<n<=15),有一个售货 ...
- hashmap的遍历方法
How to iterate over the entries of a Map? What is the order of iteration - if you are just using Map ...
- UVALive 5968
假如出现SS 那么表示Spring,如果出现SX的话,就表示WINTER,末尾出现S不管 #include <map> #include <set> #include < ...
- js取float型小数点后x位数的方法
js中取小数点后两位方法最常用的就是四舍五入函数了,前面我介绍过js中四舍五入一此常用函数,这里正好用上,下面我们一起来看取float型小数点后两位一些方法总结 以下我们将为大家介绍 JavaScri ...
- Swift教程之枚举语法
import Foundation //MARK:-------枚举语法----------- //不像 C 和 Objective-C 一样.Swift 的枚举成员在被创建时不会被赋予一个默认的整数 ...
- C#各种异常处理方式
.NET的异常处理机制用来发现.处理运行时错误.如果开发人员没有提供异常的处理机制,就默认采用.NET的机制. 通常使用try...catch...finally捕获异常. try { //有可能发生 ...
- MVC实现多选下拉框
借助Chosen Plugin可以实现多选下拉框. 选择多项: 设置选项数量,比如设置最多允许2个选项: 考虑到多选下拉<select multiple="multiple" ...
- extjs 动态设定 DateField 最大值 最小值
yxrqDate.minValue = new Date();yxrqDate.maxValue = new Date(9000,1,1);yxrqDate.validate(); //var pic ...
- Extjs 文件上传
function fromExcel(){ var dxjgdm_sel = Ext.get("dxjgdm").getValue(); var dxjglx_sel = Ext. ...