Pycharm debug调试:命令行交互式/变量观察watch/evaluate

Debug断点调试是在开发过程中常用的功能,能清楚看到代码运行的过程,有利于代码问题跟踪。

就不用去每次都是去print或者logger容易弄脏代码

观察当前所有变量值

Found out the origin of the problem(发现问题的源头)

Set breakpoints(设置断点)

Stepped through your program(以debug的模式一步一步运行代码)

Created a watch(创建对某个对象的观察)

Evaluated an expression(计算某个表达式)

异常断点,当代码出现某个异常的时候自动停下。不用自己手动打断点。

  1. # *===================================*
  2. # -*- coding: utf-8 -*-
  3. # * Time : 2019-07-29 10:34
  4. # * Author : zhangsf
  5. # *===================================*
  6. import time
  7. def test():
  8. a = 10
  9. a += 1
  10. c = into(a)
  11. print(c)
  12. c = a + 1
  13. c += 1
  14. def d(ss):
  15. print(ss)
  16. def into(c):
  17. print('we are a teaam')
  18. return c
  19. if __name__ == '__main__':
  20. print(d('23'))
  21. begin = now_time = time.time()
  22. test()
  23. end = now_time = time.time()
  24. print(end - begin)

一、debug的step by step

其中各个跳转的按钮的意思如下:

step over —— 遇到函数不会跳进去,而是平躺过去

step into —— 遇到函数跳进去

step out —— 从函数里面跳出来。即跳到上一级。

step into my code —— 忽略库代码,只在业务代码跳

run to cursor —— 代码执行到光标所在的那行

二、命令行交互式

2.1 功能

在程序运行停在断点处时,能够在命令行操作和使用程序中的变量

2.2 办法

用于当前调试会话的内置python shell

在感兴趣代码线上设置一个断点,然后启动调试

当到达断点时,找到调试> “控制台”选项卡,然后单击“显示命令行”图标(请参见屏幕截图)。

这将启用python shell(请注意屏幕截图上的绿色>>>),您可以在其中访问当前作用域中的所有变量,并执行通常在Python shell中执行的所有操作

 

三、 查看表达式结果

Evaluate就会上图中run to cursor的右边那个类似计算器的按钮

Evaluate Expression:

①、可以即时求值

②、不但可以运行表达式,还可以切换到代码片段模式,运行代码片段

3.1 方式1:打开评估表达式窗口,输入表达式

3.2方式2:选中表达式执行

或选中表达式后右键选择Execute Selection in Console

四、单个变量查看

4.1 鼠标悬停在变量上

要在调试模式下点击断点后查看变量的值,请将鼠标指针悬停在变量上(1-2秒),该变量的值将显示在工具提示中。

 

4.2打开watch窗口

变量窗口经常有很多变量,查找某变量不方便。这时可以打开watch窗口只观察关注的变量。

(1)打开watch窗口

最下面的Debug中点击Variables标签页,左栏有个眼镜标识,点一下就打开Watches窗口了。

或者在底部的各种窗口中,看见眼睛标识就点。

记得console,variables,watches这几个窗口是可以拖来拖去的,根据个人喜好摆放

(2)观察变量

Variables窗口中的变量可以右击,

依次:Add to Watches, View as array

然后在Watches窗口中可以看到所选数据的具体信息,包括数值。

(3)variables窗口和Watches窗口并列显示

在Debug窗口左侧点击Restore Layout,在Debug窗口的Degugger选项卡页会排布Frames,Variables,Watches

 

(0)

相关推荐

  • Python赋值运算符(入门必读)

    赋值运算符用来把右侧的值传递给左侧的变量(或者常量):可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除.函数调用.逻辑运算等. Python中最基本的赋值运算符是等 ...

  • 程序调试

    简介 本篇讲解在Idea中如何进行Debug. 程序调试 什么是程序Debug? Debug是程序开发人员必备的调试程序技能. 在企业中程序开发和程序调试的比例为1:1.5,是必须要掌握的技能. De ...

  • 如何使用 pdb 来性感 debug 你的 Python 代码?

    当你的代码写得多了,你总会出现这样或者那样的错误,有时候代码突然可以用,有时候代码又突然傻逼,有时候你只是离开一会,它就自动好了-就像女生的心思,总是让人捉摸不透,总是那么的魔幻. 今天,小帅b来跟你 ...

  • python prompt toolkit-用于构建功能强大的交互式命令行的python库

    prompt_toolkit 是用于在Python中构建功能强大的交互式命令行应用程序的库. prompt_toolkit可以代替GNU readline,但是它可以做得更多. 比如以下的一些功能: ...

  • Linux命令中交互式命令都有哪些?Linux基础

    交互式命令就是在top命令执行过程中使用的一些命令.top命令用于实时地对系统处理器状态进行监控,它能够实时地显示系统中各个进程的资源占用状况.该命令可以按照CPU的使用.内存的使用和执行时间对系统任 ...

  • 录制命令行工具--asciinema

    表白:黑白圣堂血天使,天剑鬼刀阿修罗.  讲解对象:/录制命令行工具--asciinema 作者:融水公子 rsgz 命令行大全 命令行大全 http://www.rsgz.top/post/778. ...

  • 《Linux 命令行大全》.pdf

    今天跟大家推荐个 Linux 命令行教程:<The Linux Command Line>,中文译名:<Linux 命令行大全>. 该书作者出自自美国一名开发者,兼知名 Lin ...

  • 隐藏进程命令行参数,例如输入密码等高危操作

    前言 启动程序很多时候用命令行参数可以很方便,做到简化一些配置,但是输入用户名密码等操作,如果通过进程查看工具直接看到密码就太不安全了. 因此很有必要研究如何隐藏命令行参数中的某些字段,当然做成配置文 ...

  • 新编辑神器,可以在命令行运行 Jupyter Notebook 了!

    作者:东哥 转自:Python数据科学 大家好,今天分享朋友东哥的一篇文章. 在我初学Python的时候,一直惯用着安装式的编辑器软件,比如PyCharm和Spyder.并且,一直以为编辑器都是这种形 ...

  • 使用 yo 命令行向导创建 SAP UI5 应用

    命令行:yo easy-ui5 project, 遇到错误消息: you don't seem to have a generator with the name "easy-ui5&quo ...

  • 使用 yo 命令行向导给 SAP UI5 应用添加一个新的视图

    在 使用 yo 创建好的 SAP UI5 项目里,使用命令行: yo easy-ui5 project newview: 输入新的视图名称为 Products,创建新的控制器,以及在 manifest ...

  • 【PyCharm中文教程 06】超全 PyCharm 代码调试教程

    【PyCharm中文教程 06】超全 PyCharm 代码调试教程