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

  • 相关阅读:
    显示所有销售订单
    从 “香农熵” 到 “告警降噪” ,如何提升告警精度?
    KubeDL 0.4.0 Kubernetes AI 模型版本管理与追踪
    链路分析 K.O “五大经典问题”
    让容器跑得更快:CPU Burst 技术实践
    All in one:如何搭建端到端可观测体系
    【视频特辑】提效神器!如何用Quick BI高效配置员工的用数权限
    一文说清linux system load
    Flow vs Jenkins 实操对比,如何将Java应用快速发布至ECS
    实时数仓Hologres首次走进阿里淘特双11
  • 原文地址:https://www.cnblogs.com/zhongzhouyun/p/14978212.html
Copyright © 2011-2022 走看看