https://blog.csdn.net/guider2334/rss/list

  • Ctrl + Q 现实document视图,查看选择元素的详细信息        (重要)
  • Ctrl + Alt + T Surround 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+f6

      F12

      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 + T Surround 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+f6

    F12

    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 imports
  • Ctrl + 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 + U toggle case 大小写转换
    • Alt + Shift + ↑ 移动当前行向上
  • 调试

    • Ctrl + F8 toggle line breakpoint
    • Ctrl + Shift + F8 添加一个条件断点
    • Alt + Shift + F9 选择运行列表中的方法debug
    • Shift + F9 debug start
    • Shift + F10 run 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 + T Surround 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 关闭活动中的tab
  • Ctrl + 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 切换编辑器活动窗
  • Esc Go 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 shift search everywhere
    • Ctrl + Shift + A 吵着action
    • Alt + 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快捷键的更多相关文章

  1. JetBrains Pycharm 破解+汉化

    准备材料: 1.JetBrains Pycharm    传送门:  https://pan.baidu.com/s/1qZCpIR6 密码: rvrn 2.JetbrainsCrack-2.6.2. ...

  2. Pycharm远程调试原理及配置

    工作中使用Pycharm作为python开发的IDE,作为专业的python集成开发环境,其功能之强大令人折服.开发过程中Debug是必不可少的.平时经常使用Pycharm的remote debug功 ...

  3. [pycharm]远程调试服务器项目

    Pycharm远程调试服务器项目 准备工作 创建一个临时项目,用pycharm打开项目 mkdir xxx 准备一台远程服务器,尝试连接服务器 ssh worker@ip 同步项目到pycharm 配 ...

  4. 使用pycharm运行调试scrapy

    摘要 Scrapy是爬虫抓取框架,Pycharm是强大的python的IDE,为了方便使用需要在PyCharm对scrapy程序进行调试 python PyCharm Scrapy scrapy指令其 ...

  5. 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...

  6. Pycharm开发环境设置与熟悉

    Pycharm开发环境设置与熟悉. 练习基本输入输出: print('你好,{}.'.format(name)) uprint(sys.argv) 库的使用方法: import ... from .. ...

  7. pycharm远程调试配置

    目录: 安装pycharm 配置pycharm远程调试 使用测试 一.安装pycharm(略) 二.配置pycharm远程调试 1.菜单--->Tools--->Deployment--- ...

  8. OpenGL ES 2.0 Shader 调试新思路(二): 做一个可用的原型

    OpenGL ES 2.0 Shader 调试新思路(二): 做一个可用的原型 目录 背景介绍 请参考前文OpenGL ES 2.0 Shader 调试新思路(一): 改变提问方式 优化 ledCha ...

  9. Ansible 开发调试 之【pycharm远程调试】

    介绍 PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本 ...

随机推荐

  1. EZOJ #87

    传送门 分析 由于我不知道壶里到底有多少水,那么显然我第一次 分别向两个杯子分别到 L/2 +1 和 L/2 才是最优的.(这样既维护了两个人的差值不超1,又正好倒了L的水).那么接下来如果壶里还有水 ...

  2. ZROI2018提高day4t2

    传送门 分析 我们二分球的直径,然后就像奶酪那道题一样,将所有距离相遇直径的点用并查集连在一起,然后枚举所有与上边的顶距离小于直径的点和所有与下边的距离小于直径的点,如果它们被并查集连在一起则代表这个 ...

  3. Django框架 之 模板语言

    Django框架 之 模板语言 浏览目录 标签 过滤器 一.标签 Tags 1.普通变量 普通变量用{{ }} 变量名由数字.字母.下划线组成 点.在模板语言中用来获取对象相应的属性值 示例: 1 2 ...

  4. rest-framework组件 之 解析器

    解析器 request类 django的request类和rest-framework的request类的源码解析 局部视图 from rest_framework.parsers import JS ...

  5. Sql Server 2008 Management studio安装教程

    Sql Server 2008 Management studio安装教程     以下介绍Visual Studio 2010已安装后,sql server 2008 management stud ...

  6. MacBook Pro (13 英寸, 2012 年中)安装win7系统

    准备: windows7 ISO镜像 16G或更大U盘(提前备份,需要格式化) Apple 官方提供的 windows7驱动程序 详细步骤: 1.打开Bootcamp,选择前两个选择点击继续,选择下载 ...

  7. MySQL - ODBC安装错误问题!

    MySQL的ODBC安装时候可能会出错,主要原因是缺少VC支持库,需要2010版本的VC支持库!!X86和X64分别对应MySQL对应的ODBC,不能安装一个两个都搞定,如果需要安装两个ODBC驱动, ...

  8. AtCoder Grand Contest 011D(思维,规律,异或)

    #include<bits/stdc++.h>using namespace std;char s[200007];int ans[200007];int main(){    int n ...

  9. Win10每次开机总是自动弹出MSN网址导航如何取消

    Win10每次开机总是自动弹出MSN网址导航如何取消 近来有用户在升级Win10系统后,每次开机总是会自动弹出MSN中文网的网址导航.如果不想要开机打开MSN网址导航,那么应该怎么设置来取消呢?对此, ...

  10. STL学习笔记--临时对象的产生与运用

    所谓的临时对象,就是一种无名对象(unnamed objects).它的出现如果不在程序员的预期之下,往往造成效率上的负担.但有时刻意制造一些临时对象,却又是使程序干净清爽的技巧.刻意制造临时对象的方 ...