最全Pycharm教程(10)——Pycharm调试器总篇

2023-05-16

如果觉得这篇文章对您有所启发,欢迎关注我的公众号,我会尽可能积极和大家交流,谢谢。 




  最全Pycharm教程(1)——定制外观

  最全Pycharm教程(2)——代码风格

  最全Pycharm教程(3)——代码的调试、运行

  最全Pycharm教程(4)——有关Python解释器的相关配置

  最全Pycharm教程(5)——Python快捷键相关设置

  最全Pycharm教程(6)——将Pycharm作为Vim编辑器使用

  最全Pycharm教程(7)——虚拟机VM的配置

  最全Pycharm教程(8)——Django工程的创建和管理

  最全Pycharm教程(9)——创建并运行一个基本的Python测试程序

  1、准备工作

  (1)Pycharm版本为3.0或者更高版本

  (2)至少安装了一个Python解释器并且已经正确配置

  (3)已经创建了一个Python工程

  2、主要内容

  介绍如何通过Pycharm来调试脚本文件,以及各个工具按钮的作用等等,至于Python编程方法,请参见Python documentation。

  3、待复习知识

  为了完成本篇教程的内容,需要用到前面的两个重要知识点:

  (1)Run/debug配置文件的相关知识

  (2)断点的相关知识

  4、Run/debug 配置知识

  每当你通过Pycharm来运行或者调试一个脚本文件时,都需要一个特殊的文件来记录脚本的名称、工作目录以及其他的重要调试信息。Pycharm已经针对特定模式预先创建好了配置文件,避免我们手动去创建。

  每次你单击运行或者调试按钮时(或者通过快捷菜单执行相同的操作),我们实际上都是在当前工作模式中加载了对应的配置文件。详见product documentation。

  5、断点

  一个断点标记了一个代码行,当Pycharm运行到该行代码时会将程序暂时挂起。Pycharm提供了几种形式的断点 types of breakpoints,其图标 icon各不相同。详见 product documentation中的Breakpoints tutorial。

  6、实例

  在你的Python工程中,创建一个新的Python文件,命名为ThreadSample.py,然后输入以下代码:

  7、设置断点

  首先,在源码中设置断点。通过单击代码左侧的空白槽来在对应位置生成断点:

  8、开始调试

  选择 run/debug configuration "ThreadSample",然后按下Shift+F9(或者单击工具栏中的绿色蜘蛛形式的按钮),调试开始,并在第一个断点处停止:

  断点所在的行变为蓝色,说明Pycharm已经击中了这个断点,但尚未执行这行代码。

  9、更改调试窗口的布局

  此时Pycharm进入调试界面模式Debug tool window,各个控件的具体功能详见know how to use this tool window。

  加入你并不喜欢当前的默认布局,例如你希望将调试器输出窗口作为一个独立的窗口显示以便更方便的观察当前的调试状态,你可以对布局进行个性化定制。

  首先,我们先把调试工具窗口独立出来,只需要右击窗口的标题栏,然后选择Floating mode

  接下来将控制台窗口移动成为一个独立的窗口,只需要拖动控制台窗口将其拖出测试窗口即可:

  可以通过单击工具栏上的按钮来恢复到默认布局。

  更多信息请参见PyCharm Tool Windows和Moving tabs and area

  10、添加一个变量查看器

  接下来我们介绍如何在调试过程中观察变量的状态。我们需要对其设置一个查看器。在Watches窗口中,单击绿色的加号,输入期望查看的变量名称,例如这里输入delay,然后回车。当然你也可以采用另外一种方式:在编辑窗口中右击变量名,在快捷菜单中选择Add to watches

  此时观察Watches窗口,发现delay变量目前尚未定义:

  稍后你将会看到如何对这个变量进行负值,以及其在watches窗口中的变化。接下来我们为get_thread_name()函数设置一个查看器作为练习。

  11、浏览帧

  此时你能看到一个名为MainThread的进程,其中包含三帧。单击每一帧来显示其变量状态以及相对应的py文件,同时会对有问题的代码行以高亮显示:

  12、简单的调试

  在每个断点出都单击按钮来时程序继续运行,观察控制台的脚本输出:

  13、步进式脚本调试

  让我们对当前脚本进行进一步的调试。单击重启调试进程,程序再次运行到第一个断点处并暂停。

  在调试窗口的顶端,你会看到一列包含步进调试按钮的工具栏 stepping buttons。

  单击,或者按下F8,你会发现蓝色标记移动到了下一行:

  与此同时,当你暂停了脚本执行时(单击按钮),你能看到高亮表示的函数print_time(),你可以选择其中的任何一个进程,并观察变量的变化:

  14、运行到当前光标处  

  假如你不想加入断点,但仍希望代码能够调试运行到某一指定的代码行,如何操作?

  返回调试界面的第二个断点处,在对应行插入输入光标。

  单击按钮,或者按下Alt+F9快捷键,该行代码变为高亮显示:

  15、如何调用Debug命令

  值得一提的是所有的调试操作不仅仅可以通过调试工具栏的对应按钮来完成,还可以通过主菜单中Run菜单下的命令来实现,以及相关的快捷菜单项。下面给出一些常用的调试菜单命令及其对应的快捷键列表:

  更多控件描述参见Debug tool window。



如果觉得这篇文章对您有所启发,欢迎关注我的公众号,我会尽可能积极和大家交流,谢谢。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最全Pycharm教程(10)——Pycharm调试器总篇 的相关文章

  • 如何在 PyCharm 中运行命令而无需运行整个脚本?

    我有一个带有多个函数的 Python 脚本 并且想运行不同的函数iloc and loc命令来测试不同的东西 由于我是 PyCharm 的新手 所以我不熟悉它的不同功能 如何运行单个命令而不必运行整个 Python 脚本 我认为它必须直接在
  • PyCharm 导入方式与系统命令提示符 (Windows) 有何不同

    尽管我的脚本在 PyCharm 中工作 但我在 cmd 提示符下运行脚本时遇到问题 我有这样的文件夹结构 MyCode PyCharm project folder UsefulFunctions Messaging Texter py D
  • PyCharm 社区版中的 中出现意外标记

    我是 PyCharm 的新手 但我逐渐喜欢上了它 我的屏幕上出现红色下划线错误是 意外的令牌 为什么 PyCharm 会显示它 我无法理解 当您没有在 Pycharm 的设置中启用 Django 时 通常会发生这种情况 要解决该问题 在 P
  • 进程完成,退出代码 137(被信号 9 中断:SIGKILL):检索图像数据

    我从人脸图像中提取特征 然后使用不同的相似性度量将特征与其他图像进行比较 以前 图像名称列表很小 但工作正常 代表每个图像的整个列表我将这些列表放入 json 文件中并在 python 文件中使用 当我增加图像时 PyCharm 会终止我的
  • Pycharm-无法安装opencv

    我是 PyCharm 的新手 并尝试了解如何安装 openCV 包以及后来的 cv2 包 我在这里看到一个旧的讨论 建议首先从 internet 下载 openCV 然后更新系统解释器 我下载了 openCV 并将其放置在我管理项目的同一目
  • textcat -> 不允许架构额外字段

    我一直在尝试练习从本教程中学到的知识 https realpython com sentiment analysis python https realpython com sentiment analysis python 使用 PyCh
  • python/pycharm项目在调试模式下产生分段错误,但在运行模式下不会产生分段错误

    奇怪的是 在调试模式下 如果脚本在通常会发生段错误 没有断点 的地方停止 通过断点 然后恢复 则不会发生段错误 很奇怪吧 本项目使用pycharm和pygame 操作系统是 windows 10 该项目包含跨 8 个模块的约 1500 行代
  • 键入提示 PyCharm 内部使用的类[重复]

    这个问题在这里已经有答案了 如何在其内部正确键入一个类 在 PyCharm 中 我当前收到此错误 这是一个未解决的参考错误 这通常是有道理的 因为我不希望 PyCharm 完美支持类型 但是 当我在除课程之外的其他课程中使用它时Item类本
  • 如何在 Windows 上为 PyCharm 配置 Python Kivy?

    我在让 Kivy 在 Windows 7 上与 PyCharm 配合使用时遇到问题 我已成功通过 文件 gt 设置 gt Python 解释器 gt 路径 选项卡添加了大部分外部库 我使用的是 Kivy 版本的 Python 当我运行一个
  • 如何在pycharm中将部分文件(帅哥)提交到git

    我是 Eclipse PyDev EGit 的重度用户 希望切换到 PyCharm 在 Eclipse 中 我可以选择仅将文件的某些块 行添加到 git 索引 与使用相同git add p从航站楼 我发现通过 GUI 执行此操作更快 并且我
  • 如何阻止 PyCharm 填充文档字符串?

    如果我使用三引号将文档字符串添加到方法中 只要我在三引号后键入空格 PyCharm 就会使用该方法采用的参数和返回值填充文档字符串 如下所示 def fill blank self direction param direction ret
  • 手动重建PyCharm索引[重复]

    这个问题在这里已经有答案了 有时 PyCharm 变得非常慢 经过 20 30 分钟的缓慢运行后 它会重建索引 有没有办法手动触发重建 PyCharm 索引 File gt Invalidate Caches Restart
  • CLion:调试由 python 生成的 C++ 子进程

    CLion 有没有办法调试从 Python 脚本运行的 C 程序subprocess Popen 我可以设置断点并调试Python程序 如果直接运行C 程序 我可以设置断点并调试它 但是当程序从Popen启动时 我无法触发C 断点 我尝试在
  • 如何关闭所有 pyplot 窗口(包括之前脚本执行的窗口)?

    所以我有一些 python 代码 使用 pyplot 绘制一些图表 每次运行脚本时都会创建新的绘图窗口 我必须手动关闭该窗口 如何在脚本开始时关闭所有打开的 pyplot 窗口 IE 关闭先前执行脚本期间打开的窗口 在 MatLab 中 这
  • 在 Pycharm 中以 DEBUG 模式跳过 Django 服务器上的系统检查

    我正在 Pycharm 中以调试模式运行 django 应用程序 每次我更改代码时都会执行一些系统检查 pydev debugger process 2354 is connecting Performing system checks 有
  • 是否可以“提示”字典键?

    In PyCharm 代码完成 https www jetbrains com help pycharm auto completing code html gt 基本完成 gt 调用基本完成 gt 字典 我发现 如果您将字典硬编码为某些值
  • 在 Pycharm 中过滤记录器控制台输出的简单方法?

    我已经通过该程序命名了我的所有记录器 我想做的是能够通过 Pycharm 中的记录器名称过滤控制台日志输出 可以在不编辑日志配置文件的情况下完成此操作吗 您可以使用以下命令在 PyCharm 的控制台窗口中过滤输出格雷普控制台 https
  • 在 pyCharm 上使用张量流

    我是深度学习新手 刚刚在我的 Mac 上安装了 Tensorflow 然而 也存在一些问题 我确信我安装成功 因为我可以使用 python 3 5 在终端上运行tensorflow import tensorflow as tf node1
  • Docker 远程上的 Pycharm 远程解释器:[Errno 2] 没有这样的文件或目录

    正如标题中所指定的 我尝试在 LAN 中的远程服务器上托管的 Docker 计算机中使用 Pycharm Professional 2018 2 和 python 远程解释器 我按照帮助创建了一个非常简单的示例 https www jetb
  • Pulp.solvers.PulpSolverError:PuLP:无法执行glpsol.exe

    我是 python 和优化的新手 我收到一些错误 请帮我解决 我尝试在运行 Anaconda 3 的 PyCharm 中运行下面提到的代码 from pulp import x LpVariable x 0 3 y LpVariable y

随机推荐