• 转 PyCharm 进行调试 以及怎么熟悉一个已经成熟的项目的代码和断点 以及 jetBrains pycharm快捷键


    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. 断点设置

    图片示例 2

    表达式求值:在调试过程中有的时候需要追踪一些表达式的值来发现程序中的问题,Pycharm 支持表达式求值,可以通过选中该表达式,然后选择“Run”->”Evaluate Expression”,在出现的窗口中直接选择 Evaluate 便可以查看。

    Pychar 同时提供了 Variables 和 Watches 窗口,其中调试步骤中所涉及的具体变量的值可以直接在 variable 一栏中查看。

    图 3. 变量查看

    图片示例 3

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

    图 4. 监测变量

    图片示例 4

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

    图 5. 多线程窗口

    图片示例 5

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

    图 6. 子线程调试

    图片示例 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和视图间切换
  • 相关阅读:
    Linux下暴力破解工具Hydra详解
    Github 安全类Repo收集整理
    Linux下显示IP地理位置信息的小工具-nali
    一次渗透小记
    一步随心,一生无悔
    巧遇"drwxr-xr-x."权限
    mysql以ROOT权限提权方法
    HTTP消息中header头部信息的讲解
    浏览器安全-初学篇
    高并发工具推荐
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/10112090.html
Copyright © 2020-2023  润新知