zoukankan      html  css  js  c++  java
  • pycharm调试方式

    (1-7)顶部菜单栏的介绍

    image.png

    1. image.png:能够定位到当前执行到了哪一行,debug过程中临时打开了其他的文件下,想继续debug可以用这个跳转到位置

    2. image.png:将每一行当做一个步骤,不会进入到函数体内部,如果是函数体内部报错,会跳转到源码里面

    3. image.png:会进入源码的子函数

    4. image.png:不会进入源码的子函数,只会进入自己写的子函数中;在源码内部,点击也会离开源码,到自己方法中

    5. image.png:执行完当前断点所处函数的剩下的内容,返回进入该函数的入口处

    6. image.png:这里分为两种情况,

    (1)如果指定了光标在某一行,会执行到光标处停下来,当我们想在某个地方停下来,但是这里没有打断点的时候,我们每次都一步一步逐步进行太慢,于是可以用这个功能。注意:不能将光标放到已运行的代码中,debug过程不可逆
    (2)如果我们设置了多个断点,那么,点击这个会跳转到下一个断点处

    1. image.png:计算表达式窗口

    1.小技巧:我们可以在变量窗口选中一个变量再点击表达式窗口,表达式窗口会默认填充选中变量的值
    2.注意事项:image.png

    8. 使用控制台(Console)打印或操作变量​


    9. watches窗口的用法



    常用技巧:
    如果执行某个函数,想知道return具体返回的是什么,可以直接在watch窗口进行调用得出结果
    image.png

    其中选中表达式,右键选择也可以调出来
    image.png

    10. 条件断点

    这个很有用,可以定位在测试报告报错的用例
    image.png

    注意:此处设置的条件语句为:a,本来的意思是只要为真就停止,此段代码在此处未曾运行过,因此我们使用过程中,条件最好设置在断点调试的语句之前
    image.png

    11. debug运行过程中加断点

    12. debug运行过程中修改内存中的变量值的两种方式

    方式1:设置没有成功
    image.png
    方式2:debug后在console中更改变量值,可以成功
    image.png
    注意点:其中方式2和直接选择在控制台执行该文件不同,在控制台执行该文件会执行整个文件,如果想和这个一样在运行过程中修改,恐怕得选择执行所选择的代码,然后开始执行,这两个还是有不同的,不过控制台执行文件的话,会有watch变量窗口,能够实时查看数据而已

    上面我们打了个断点,是为了方便说明这个效果。并不是说一定要打断点。如果不打断点,在脚本执行完成后,也仍然可以在这个界面查看并操作所有变量。

    13. 调试的其他情况:

    (1)debug过程中加代码

    (2)为什么获取某个变量值需要将断点打入到函数内部

    因为函数执行完成后,内部的变量是会进行销毁的,如下图,执行完成后,也不会有变量的内存。
    def aa():
    a = 3
    b = 4
    pass
    aa()

    (3)查看变量值的方式

    如果想在debug调试中看到变量的值,必须用变量存储起来
    另外除了上面的查看变量的方法,我们在进入debug后,将光标放置在变量上面,也会有显示

    (4)选择变量,跳转到源代码

    image.png
    这个使用场景为,可在debug时跳转该变量所在代码行或该变量所属类型的源代码,书签功能和这个不冲突

    14. 断点临时取消,保证以下流程正常运行

    方法1:在测试批量添加商品时,断点保证一个商品正常添加后,临时取消断点,点击
    image.png

    15.idea单步调试快速跳过后面的断点-Mute Breakpoints

    image.png
    image.png
    这个静音断点和上面14介绍的功能大致一样,都是能够让后面的代码一次性执行完又不会取消掉原有的断点;
    这个如果打开未开启,后面debug调试不会进入断点处,和14一样

    16. 查看某段代码在哪些地方被使用

    选择某个对象,右键选择find usages,可进行定位,下方是定位的辅助功能
    image.png

    17. 显示更详细的变量值

    image.png

    18. 使用书签功能查看源代码

    书签 功能 快捷键

    Ctrl + F11 设置书签
    Ctrl + 书签号 跳转到 该书签
    SHIFT F11: 显示所有书签。
    在笔记本上需要加上fn(垃圾笔记本设置)

    修改快捷键
    添加/删除书签:改为alt+d
    显示所有书签:改为alt+s

    实战演练

    1. 添加标签

    选择已被使用的标签,之前的会被替换掉,以最新的为准
    image.png

    1. 标签跳转

    方法一:直接用ctrl+添加时设置的数字
    方法二:显示所有书签,然后鼠标左侧双击,也可跳转
    image.png

    19. 目前debug调试的方法总结

    1. 首先断点进入代码内部
    2. 点击左侧image.png定位到代码所在文件
    3. 根据是否必要,展开左侧结构Structure,然后搜索这个方法或类名,或者直接ctrl+f12
    4. 断点时跳转频繁,则使用书签功能
    5. 部分代码看完后,返回断点处,点击image.png回来继续往下看
    6. 过程中也可适当使用这个方法

    image.png
    7.代码过长,记得用代码缩放,先理清整理逻辑再看局部
    image.png

    21.不打断点,直接debug会有一个雷电标志,直接定位到具体代码

    image.png
    而且这样还能在控制台继续debug
    image.png

    22. 断点居然还能拖动

    使用断点后发现打错了位置,可以上下拖动
    image.png

    24. (重要)debug快速定位问题技巧

    image.png

    25. 新版本pycharm可直接点击根据注释查看

    image.png

    26. 通过查看调用的线程,定位控制台垃圾输出信息所在的位置

    image.png
    image.png

    本文来自博客园,作者:中州韵,转载请注明原文链接:https://www.cnblogs.com/zhongzhouyun/p/14978212.html

  • 相关阅读:
    MySql cmd下的学习笔记 —— 引擎和事务(engine,transaction)
    MySql cmd下的学习笔记 —— 有关视图的操作(algorithm)
    MySql cmd下的学习笔记 —— 有关视图的操作(建立表)
    MySql cmd下的学习笔记 —— 有关常用函数的介绍(数学函数,聚合函数等等)
    MySql cmd下的学习笔记 —— 有关多表查询的操作(多表查询练习题及union操作)
    MySql 在cmd下的学习笔记 —— 有关多表查询的操作(内连接,外连接,交叉连接)
    MySql cmd下的学习笔记 —— 有关子查询的操作(where型,from型,exists型子查询)
    MySql cmd下的学习笔记 —— 有关select的操作(order by,limit)
    剑指Offer--第21题 调整数组顺序使奇数位于偶数前面;
    剑指Offer--和为s的连续正数序列
  • 原文地址:https://www.cnblogs.com/zhongzhouyun/p/14978212.html
Copyright © 2011-2022 走看看