最全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 ...
随机推荐
- php常见网络攻击及防御方法
常见的Web攻击分为两类:一是利用Web服务器的漏洞进行攻击,如CGI缓冲区溢出,目录遍历漏洞利用等攻击;二是利用网页自身的安全漏洞进行攻击,如SQL注入,跨站脚本攻击等.下面这篇文章主要介绍了PHP ...
- C# 微信小程序获取openid sessionkey
项目介绍 1.微信小程序获取openid和session_key 2.后台使用C#开发 项目流程 准备工作 1 获取appid 1.1 下载微信web开发工具 https://developers.w ...
- 【转载】实现UTF8与GB2312编码格式相互转换(VC)已经验证!
UTF-8编码:[1,1,1,0,A5,A6,A7,A8],[1,0,B3,B4,B5,B6,B7,B8],[1,0,C3,C4,C5,C6,C7,C8];对应的UNICODE编码:[A5,A6,A7 ...
- HDU 4268 Alice and Bob 贪心STL O(nlogn)
B - Alice and Bob Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u D ...
- IoC Containers with Xamarin
When writing cross platform apps with Xamarin, our goal is share as close to 100% of our code across ...
- 使用结构struct作为Dictionary<TKey,TValue>的键
我们经常用简单数据类型,比如int作为泛型Dictionary<TKey,TValue>的key,但有时候我们希望自定义数据类型作为Dictionary<TKey,TValue> ...
- Windows 8 Metro 应用开发入门(一):开发环境介绍
摘 要 Windows8已经发布,随之而来的基于WinRT的Metro应用也正向我们走来,正像它所宣传的:光滑.快.现代.看习惯了玻璃.立体风格的应用,或许Metro的简洁能给你留下不一样的体验.Vi ...
- .NET:“事务、并发、并发问题、事务隔离级别、锁”小议,重点介绍:“事务隔离级别"如何影响 “锁”?
备注 我们知道事务的重要性,我们同样知道系统会出现并发,而且,一直在准求高并发,但是多数新手(包括我自己)经常忽略并发问题(更新丢失.脏读.不可重复读.幻读),如何应对并发问题呢?和线程并发控制一样, ...
- RobotFramework自动化1-环境搭建
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. Robot Fram ...
- 5-05. QQ帐户的申请与登陆(25)(map运用)(ZJU_PAT)
题目链接:http://pat.zju.edu.cn/contests/ds/5-05 实现QQ新帐户申请和老帐户登陆的简化版功能. 最大挑战是:据说如今的QQ号码已经有10位数了. 输入格式说明: ...