转 PyCharm 进行调试 以及怎么熟悉一个已经成熟的项目的代码和断点 以及 jetBrains pycharm快捷键
https://blog.csdn.net/guider2334/rss/list
Ctrl + Q现实document视图,查看选择元素的详细信息 (重要)Ctrl + Alt + TSurround with…环绕代码块Ctrl + /行注释 (重要)Ctrl + Shift + /块注释Ctrl + W依次选择更多的代码块Ctrl + Shift + W与Ctrl + W相反Ctrl + Enter光标不动,当前行后插入空行Ctrl + Shift + U英文大小写转换Ctrl + D复制当前行 (重要)Ctrl + Y删除当前行 (重要)
Ctrl + Alt + Shift + U查看Class类图 (重要)ctrl+shift+i 相关的方法的使用及说明 (重要)
ctrl + 选择变量 查看在该文件的所有引用 (重要)
鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符 (重要)
鼠标选中多行代码后,按下Tab键,一次缩进四个字符 (重要)rename
shift+f6F12
ctrl+alt+v
crtl+shift+f7 highlight
F3
ESC
CTRL+E recent file
######## sample 0
1 参考 https://blog.csdn.net/IMBA123456789/article/details/42046165
使用 PyCharm 进行调试
PyCharm 是由 JetBrains 打造的一款 Python IDE,具有语法高亮、Project 管理、代码跳转、智能提示、自动完成、单元测试、版本控制等功能,同时提供了对 Django 开发以及 Google App Engine 的支持。分为个人独立版和商业版,需要 license 支持,也可以获取免费的 30 天试用。试用版本的 Pycharm 可以在官网上下载,下载地址为:http://www.jetbrains.com/pycharm/download/index.html。 PyCharm 同时提供了较为完善的调试功能,支持多线程,远程调试等,可以支持断点设置,单步模式,表达式求值,变量查看等一系列功能。PyCharm IDE 的调试窗口布局如图 1 所示。
图 1. PyCharm IDE 窗口布局

下面结合实例讲述如何利用 PyCharm 进行多线程调试。具体调试所用的代码实例见清单 10。
清单 10. PyCharm 调试代码实例
__author__ = 'zhangying'
#!/usr/bin/python
import thread
import time
# Define a function for the thread
def print_time( threadName, delay):
count = 0
while count < 5:
count += 1
print "%s: %s" % ( threadName, time.ctime(time.time()) )
def check_sum(threadName,valueA,valueB):
print "to calculate the sum of two number her"
result=sum(valueA,valueB)
print "the result is" ,result;
def sum(valueA,valueB):
if valueA >0 and valueB>0:
return valueA+valueB
def readFile(threadName, filename):
file = open(filename)
for line in file.xreadlines():
print line
try:
thread.start_new_thread( print_time, ("Thread-1", 2, ) )
thread.start_new_thread( check_sum, ("Thread-2", 4,5, ) )
thread.start_new_thread( readFile, ("Thread-3","test.txt",))
except:
print "Error: unable to start thread"
while 1:
# print "end"
pass
在调试之前通常需要设置断点,断点可以设置在循环或者条件判断的表达式处或者程序的关键点。设置断点的方法非常简单:在代码编辑框中将光标移动到需要设置断点的行,然后直接按 Ctrl+F8 或者选择菜单"Run"->"Toggle Line Break Point",更为直接的方法是双击代码编辑处左侧边缘,可以看到出现红色的小圆点(如图 2)。当调试开始的时候,当前正在执行的代码会直接显示为蓝色。下图中设置了三个断点,蓝色高亮显示的为正在执行的代码。
图 2. 断点设置

表达式求值:在调试过程中有的时候需要追踪一些表达式的值来发现程序中的问题,Pycharm 支持表达式求值,可以通过选中该表达式,然后选择“Run”->”Evaluate Expression”,在出现的窗口中直接选择 Evaluate 便可以查看。
Pychar 同时提供了 Variables 和 Watches 窗口,其中调试步骤中所涉及的具体变量的值可以直接在 variable 一栏中查看。
图 3. 变量查看

如果要动态的监测某个变量可以直接选中该变量并选择菜单”Run”->”Add Watch”添加到 watches 栏中。当调试进行到该变量所在的语句时,在该窗口中可以直接看到该变量的具体值。
图 4. 监测变量

对于多线程程序来说,通常会有多个线程,当需要 debug 的断点分别设置在不同线程对应的线程体中的时候,通常需要 IDE 有良好的多线程调试功能的支持。 Pycharm 中在主线程启动子线程的时候会自动产生一个 Dummy 开头的名字的虚拟线程,每一个 frame 对应各自的调试帧。如图 5,本实例中一共有四个线程,其中主线程生成了三个线程,分别为 Dummy-4,Dummy-5,Dummy-6. 其中 Dummy-4 对应线程 1,其余分别对应线程 2 和线程 3。
图 5. 多线程窗口

当调试进入到各个线程的子程序时,Frame 会自动切换到其所对应的 frame,相应的变量栏中也会显示与该过程对应的相关变量,如图 6,直接控制调试按钮,如 setp in,step over 便可以方便的进行调试。
图 6. 子线程调试

查看大图。
2.参考 https://bbs.csdn.net/topics/392297397
让我通过断点的方式去理解系统了解业务流程的走向!
3.参考 https://jingyan.baidu.com/article/fd8044fa1996065031137a9e.html
或者可以通过电脑中的快捷方式进行打开 ctrl+shift+i 相关的方法的使用及说明
####### jetBrains pycharm快捷键 sample 1
https://blog.csdn.net/guider2334/rss/list
Ctrl + Q现实document视图,查看选择元素的详细信息 (重要)Ctrl + Alt + TSurround with…环绕代码块Ctrl + /行注释 (重要)Ctrl + Shift + /块注释Ctrl + W依次选择更多的代码块Ctrl + Shift + W与Ctrl + W相反Ctrl + Enter光标不动,当前行后插入空行Ctrl + Shift + U英文大小写转换Ctrl + D复制当前行 (重要)Ctrl + Y删除当前行 (重要)
Ctrl + Alt + Shift + U查看Class类图 (重要)ctrl+shift+i 相关的方法的使用及说明 (重要)
ctrl + 选择变量 查看在该文件的所有引用 (重要)
鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符 (重要)
鼠标选中多行代码后,按下Tab键,一次缩进四个字符 (重要)rename
shift+f6F12
ctrl+alt+v
crtl+shift+f7 highlight
F3
ESC
CTRL+E recent file
激活
IDEAU-2018.1 激活服务器`http://xdouble.cn:8888/`
代码快速生成
100.for快速生成代码for(int i=0;i<100;i++){}new Date().sout快速生成代码System.out.println(new Date())
快捷键
Ctrl + Alt + O导入、导出包 optimize importsCtrl + Alt + Insert新建文件项目之间的跳转
Ctrl + Alt + [上一个项目Ctrl + Alt + ]下一个项目
- 文件之间跳转
Ctrl + E显示最近打开的文件 方向键上下选择Ctrl + Shift + E显示最近修改的文件
- 文件修改位置的跳转
Ctrl + Shift + backspace回到上个编辑的位置
- 文件浏览位置的跳转
Ctrl + Alt + ←上一个浏览位置Ctrl + Alt + →下一个浏览位置
收藏文件、方法
Alt + Shift + F添加到喜欢F11添加书签Ctrl + F11给当前文件添加位置信息1,2,3…使用Ctrl + num快速定位到标记处,在标记处再次Ctrl + F11可取消标记
精确查找
Ctrl + N通过类名查找类,再按一下N,可以勾选包含jar包中的类Ctrl + Shift + N精确查找文件名、再次按一次N,可以勾选包含jar包中的文件
编辑相关
Ctrl + R当前文件替换选中内容Ctrl + Shift + R当前项目替换选中内容Shift + F6重命名文件、类、方法、变量,甚至注释中的内容Alt + Insert在编辑区添加构造方法、getter/setter方法等、在文件区新建文件Ctrl + Alt + L格式化代码Ctrl + Shift + Utoggle case 大小写转换Alt + Shift + ↑移动当前行向上
调试
Ctrl + F8toggle line breakpointCtrl + Shift + F8添加一个条件断点Alt + Shift + F9选择运行列表中的方法debugShift + F9debug startShift + F10run start
复制粘贴
Ctrl + C复制文件名Ctrl + Shift + C复制文件绝对路径Ctrl + Shift + V调用粘贴板,显示批量复制的内容
结构导航
Ctrl + F12查看类的结构Ctrl + Alt + Shift + U查看Class类图 (重要)Ctrl + Alt + H显示hierarchy结构层次图Ctrl + Alt + B查看实现选中的类或者方法的所有类或方法
查漏补缺快捷键
编辑
Ctrl + P方法参数信息,在调用方法时参数忘记,提示Ctrl + Q现实document视图,查看选择元素的详细信息 (重要)Ctrl + 鼠标滑过基本信息Ctrl + O重写父类的方法Ctrl + I实现方法(一般指实现接口类或抽象类)Ctrl + Alt + TSurround with…环绕代码块Ctrl + /行注释 (重要)Ctrl + Shift + /块注释Ctrl + W依次选择更多的代码块Ctrl + Shift + W与Ctrl + W相反Ctrl + Enter光标不动,当前行后插入空行Ctrl + Shift + U英文大小写转换Ctrl + D复制当前行 (重要)Ctrl + Y删除当前行 (重要)Ctrl + Shift + [或]选择光标到代码块的开始或结束Ctrl + +或-展开或折叠光标所在代码块Ctrl + F4关闭活动中的tabCtrl + Shift + V从历史粘贴
调试
F8跳过Ctrl + F8切断断点Alt + F8表达式求值F7步进F9恢复程序Ctrl + Shift + F8查看断点
运行
Shift + F10运行Shift + F9调试Ctrl + Shift + F10从光标所在上下文运行Ctrl + Shift + X在命令行运行
搜索/替换
Ctrl + F/R在当前文件中查找/替换Ctrl + Shift + F/R在项目中查找/替换F3/Shift + F3查找下一个/上一个
查找哪些地方使用
Alt + F7/Ctrl + F7在所有文件中查找/在当前文件中查找Ctrl + Shift + F7在当前文件中查找并高亮显示Ctrl + Alt + F7在所有文件中查找
导航
Ctrl + N跳转到指定类Ctrl + Shift + N跳转到文件Ctrl + Alt + Shift + N跳转到符号Ctrl + G跳转到第几行Alt + Right/Left切换编辑器活动窗EscGo to editor (from tool window)Ctrl + E最近打开的文件列表Ctrl + Shift + E最近编辑过的文件列表Ctrl + Alt + Left/Right导航前进/后退Ctrl + Shift + Backspace跳到最近编辑的代码位置Alt + F1选择视图Ctrl + B 或 Ctrl + Click跳到声明Ctrl + Alt + B跳到实现、执行位置Ctrl + Shift + I查找定义处Ctrl + Shift + B跳转到类型声明Ctrl + U跳转到父类方法Alt + Up/Down同一个类中方法上一个/下一个Ctrl + ]/[跳转到代码块的结束/开始F2/Shift + F2跳转到上一个/下一个高亮错误的地方F4查看源代码
重构
F5/F6复制/移动Alt + Delete安全删除Shift + F6重命名Ctrl + Alt + N内联变量Ctrl + Alt + M/V/F/C抽取方法/变量/属性/常量(Method/Variable/Field/Constant)Ctrl + Alt + Shift + T重构这段代码,显示所有可用重构
VCS/本地历史
Alt + 反引号VCS Operations,版本控制操作Ctrl + T更新Ctrl + K提交Alt + Shift + C显示最近更改,Recent Changes
常用操作
double shiftsearch everywhereCtrl + Shift + A吵着actionAlt + Num(1,2,3...)打开相应的视图Ctrl + Alt + F11打开/关闭全屏模式Ctrl + Shift + F12开启/关闭最大化编辑Alt + Shift + F添加到收藏列表Alt + Shift + I检查当前文件以及当前配置文件Ctrl + Alt + S打开设置对话框Ctrl + Tab在tabs和视图间切换
转 PyCharm 进行调试 以及怎么熟悉一个已经成熟的项目的代码和断点 以及 jetBrains pycharm快捷键的更多相关文章
- JetBrains Pycharm 破解+汉化
准备材料: 1.JetBrains Pycharm 传送门: https://pan.baidu.com/s/1qZCpIR6 密码: rvrn 2.JetbrainsCrack-2.6.2. ...
- Pycharm远程调试原理及配置
工作中使用Pycharm作为python开发的IDE,作为专业的python集成开发环境,其功能之强大令人折服.开发过程中Debug是必不可少的.平时经常使用Pycharm的remote debug功 ...
- [pycharm]远程调试服务器项目
Pycharm远程调试服务器项目 准备工作 创建一个临时项目,用pycharm打开项目 mkdir xxx 准备一台远程服务器,尝试连接服务器 ssh worker@ip 同步项目到pycharm 配 ...
- 使用pycharm运行调试scrapy
摘要 Scrapy是爬虫抓取框架,Pycharm是强大的python的IDE,为了方便使用需要在PyCharm对scrapy程序进行调试 python PyCharm Scrapy scrapy指令其 ...
- 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...
- Pycharm开发环境设置与熟悉
Pycharm开发环境设置与熟悉. 练习基本输入输出: print('你好,{}.'.format(name)) uprint(sys.argv) 库的使用方法: import ... from .. ...
- pycharm远程调试配置
目录: 安装pycharm 配置pycharm远程调试 使用测试 一.安装pycharm(略) 二.配置pycharm远程调试 1.菜单--->Tools--->Deployment--- ...
- OpenGL ES 2.0 Shader 调试新思路(二): 做一个可用的原型
OpenGL ES 2.0 Shader 调试新思路(二): 做一个可用的原型 目录 背景介绍 请参考前文OpenGL ES 2.0 Shader 调试新思路(一): 改变提问方式 优化 ledCha ...
- Ansible 开发调试 之【pycharm远程调试】
介绍 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本 ...
随机推荐
- php学习笔记-POST和GET的区别
POST和GET都可以用来提交数据. POST方法提交的数据在浏览器的地址栏是不可见的,当然利用一些工具是可以看到的,而GET方法提交的数据在地址栏是可见的.两者比较,POST更安全一点. POST方 ...
- Help Bubu UVALive - 4490
传送门 题目大意 有n本书,最多k次操作,每次操作可以把一本书拿出来,放到一个位置去,有一个指标较mess度,他是书的高度的段数,连续的书高度一样算一段,现在给你最先开始各个位置上的书的高度,求操作后 ...
- KMS激活工具
工具介绍 KMS_VL_ALL,国外MDL论坛的一款KMS激活工具,可自动识别需要激活的Windows以及Office的VL版本,无需联网即可全自动检测激活,支持创建自动续期计划,相比于国外的同类工具 ...
- [坑]Linux MySQL环境表名默认区分大小写
不区分大小写设置 1.用ROOT登录,修改/etc/my.cnf 2.在[mysqld]下加入一行:lower_case_table_names=1 3.重新启动数据库即可 systemctl res ...
- ubuntu - 14.04,安装JDK1.8(JAVA程序需要的开发、运行环境)
一,如何删除低版本的open JDK? 在ubuntn的软件中心中,如果输入"java",我们会看到open JDK,但是最高版本是1.7,也有1.6版本的,如果我们安装上去,可能 ...
- EXTJs前后台交互 常用哦3种方式
<1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...
- luogu p4174 最大获利(最大权闭合子图)
luogu p4174 最大获利(最大权闭合子图) 给定n个点,m条边,每条边有一个贡献,每个点有一个代价.选择一条边,会付出边所连两个点的代价,问最大代价. 我们换个建图方式:把图G中的边\(e_i ...
- 设置django在linux后台运行&查看端口使用
1.后台运行(&),允许所有用户(0.0.0.0)访问,端口为8888 nohup python manage.py runserver 0.0.0.0 8888 & 2.由端口号88 ...
- P3345 [ZJOI2015]幻想乡战略游戏 动态点分治
\(\color{#0066ff}{ 题目描述 }\) 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越 ...
- P3356 火星探险问题
\(\color{#0066ff}{题目描述}\) 火星探险队的登陆舱将在火星表面着陆,登陆舱内有多部障碍物探测车.登陆舱着陆后,探测车将离开登陆舱向先期到达的传送器方向移动.探测车在移动中还必须采集 ...