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

原文地址:https://www.cnblogs.com/zhongzhouyun/p/14978212.html