PyCharm使用教程 --- 7、使用PyCharm进行DeBug调试

2023-05-16

很多新手朋友对PyCharm的使用无从下手,于是花费了一点时间整理这份PyCharm操作手册,

完整PDF下载: 终于写完了!PyCharm操作手册 V1.0版本 PDF下载

目录如下:

2021年最新PyCharm使用教程 — 1、PyCharm的下载与安装

2021年最新PyCharm使用教程 — 2、环境配置

2021年最新PyCharm使用教程 — 3、创建项目

2021年最新PyCharm使用教程 — 4、界面/菜单栏介绍

2021年最新PyCharm使用教程 — 5、PyCharm的基本配置

2021年最新PyCharm使用教程 — 6、代码运行

2021年最新PyCharm使用教程 — 7、使用PyCharm进行DeBug调试

2021年最新PyCharm使用教程 — 8、版本控制

2021年最新PyCharm使用教程 — 9、PyCharm中的搜索技巧(文件/函数/内容)

2021年最新PyCharm使用教程 —10、PyCharm实用小技巧

2021年最新PyCharm使用教程 — 11、PyCharm必备插件

DeBug运行/调试

Bug大家都知道是程序中的错误,导致程序不能正常运行。而DeBug的字面意思就是解决Bug。

DeBug执行的方式也是有三种,与上面的代码运行章节类似,

1、右键DeBug

2、导航栏DeBug

点击导航栏绿色的蜘蛛图标即可DeBug启动。

3、通过main Debug执行

如果程序有main函数入口,可以点击左侧的绿色小三角,然后选择上图标识的Debug 项目名即可。

4、断点

如果Debug的程序没有断点,则跟正常的执行没有区别。

断点:一个断点标注一个代码行,当程序执行到断点所在行时,会被挂起。我们可以查看项目中各参数的值,运行结果等信息

如何打断点?

如下图所示,在红框标注的地方单击一下就可以打上断点,可以标记多个断点,或者快捷键Ctrl +F8可快速在光标所在行打上断点。

如下图,我在第7行打了一个断点,通过DeBug执行程序。

通过变量面板的信息我们可以得到以下信息

  • 执行到第6行,index的值为 1,
  • 当前循环为第一次循环,i的值为0
  • checkcode 还未被赋值,依旧是空字符串""

5、调试按钮

调试面板如上图所示,每个按钮的意思如下,将鼠标悬停在对应的图标上,可查看快捷键

1、跳转到当前程序所执行的地方(快捷键Alt + F10);比如你打开了很多窗口,当前界面在别的代码页面,只需要按一下这个按钮就会回到程序所执行的地方。

**2、依次往下执行代码(快捷键F8);**不进入函数;顺序执行,如果某一行代码调用了别的函数,则不会进入那个函数

**3、顺序执行,会进入函数(快捷键F7);**当某一行代码调用了其他函数,则会进入那个函数或者源码中。

**4、顺序执行,进入自己写的代码中(快捷键Alt + Shift + F7);**与上面的区域是只会进入自己写的代码中,不会进入源代码中

**5、跳出当前函数(快捷键Shift + F8);**配合编号34当程序运行到函数体中,可以迅速跳出当前函数,回到程序执行的地方

**6、运行到光标位置并暂停(快捷键Alt + F9);**此时你的光标在哪,程序就会运行到那个地方,并挂起(暂停)

7、计算表达式(快捷键Alt + F8); 鼠标选中一段代码,点击7号按钮,或者右键选择Evaluate Expression,然后在弹窗中,点击Evaluate就可以计算出当前选中表达式的值。

6、DeBug控制面板

1、重新DeBug启动当前程序

2、跳过当前断点,直接运行到下一断点处,快捷键:F9

3、停止并关闭当前DeBug程序

4、查看当前所有设置的断点

5、使所有断点都失效(此时断点由红色变为灰白色)

7、DeBug Console面板

在DeBug执行的时候,在Console中有个按 钮如下图蓝色箭头标注所示Show DeBug Console,可以在右侧终端中输入变量的值或者表达式,按回车之后,会返回相应的结果。

8、设置断点属性(过滤)

在断点的小红点上右键,我们会发现这样一个界面

通过配置Condition中的内容,当程序符合Conditioin中的条件时,才会在当前断点暂停(挂起)

比如,上面代码,我设置i = 2时,在print_test()函数挂起,设置如下,然后点击Done设置生效

DeBug执行代码,效果如下

如果DeBug执行多线程的时候,可以指定线程名,专门针对某个线程进行DeBug.

9、Debug窗口悬浮

如果有多太显示器,或者想要将Debug窗口独立放大,可以点击相应标签,左键长按进行拖动

如果找不到相应窗口,或者布局比较乱,可以重置布局

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

PyCharm使用教程 --- 7、使用PyCharm进行DeBug调试 的相关文章

  • 如何在 PyCharm 中自动运行 Main.py

    我更喜欢在我的项目中使用类似 Java 的组织 例如 每个班级都有不同的 py文件和类Main 其中仅包含 main 函数 每次我对一个类进行更改时 我都需要单击 Main 并运行代码 Ctrl Shift F10 从那里 我该如何定义我的
  • 如何在 PyCharm 中指定 pip 选项以从requirements.txt进行安装

    要从公司代理后面安装 Python 包 有时需要添加选项pip 例如 proxy or cert 如何在 PyCharm 中指定代理的说明见这个问题 https stackoverflow com q 42363175 2311167以及如
  • PyCharm 找不到已安装的软件包:keras

    我在运行 Ubuntu 14 04 的 PC 上安装了 pycharm 2016 1 4 我已经使用安装了 Keras 一个 Python 包 pip install keras和 PyCharmcan找到它before 但它cannot找
  • SQLite3 数学函数 Python

    更新 SQLite 版本 3 5 0 后 可以使用 SQL 数学函数 如果我在 pycharm 查询中使用它 它效果很好 但我无法在 python 代码中执行查询 然后我收到以下错误消息 pandas io sql DatabaseErro
  • 无法将matplotlib安装到pycharm

    我最近开始使用Python速成课程学习Python编程 我陷入困境 因为我无法让 matplotlib 在 pycharm 中工作 我已经安装了pip 我已经通过命令提示符使用 pip 安装了 matplotlib 现在 当我打开 pych
  • 如何让 PyC​​harm 始终显示行号

    我似乎无法找到启用行号的设置all文件 但我必须始终右键单击并在每个文件的基础上启用此功能 必须有一个全局设置 对吧 2 6及以上版本 PyCharm 最左侧菜单 gt 首选项 gt 编辑器 左下部分 gt 常规 gt 外观 gt 显示行号
  • 当变量取特定值时如何使 PyCharm 中断?

    我有一本大字典 其中一些元素偶尔会出现非法值 我想弄清楚非法值从何而来 PyCharm 应该不断监视我的字典的值 一旦它们中的任何一个取了非法值 它就应该中断并让我检查程序的状态 我知道我可以通过为我的字典创建一个 getter sette
  • pydev 调试器:严重警告:此版本的 python 似乎编译不正确(内部生成的文件名不是绝对的)[重复]

    这个问题在这里已经有答案了 通过运行 from sklearn datasets import fetch california housing import pandas as pd pd set option precision 4 m
  • 在 Python/PyCharm 中显式声明变量未使用

    有没有办法在 PyCharm 或一般的 Python 中将变量声明为未使用 以便您可以显式告诉编译器不要给出警告 我不是在谈论为程序员命名未使用的变量的约定 通常命名为 或 而是在谈论将变量显式标记为编译器未使用的选项 例如在循环中 我也不
  • Pycharm 中的 Traitlets.traitlets.TraitError

    我是Python的初学者 我面临以下问题 每当我启动 pycharm 社区版 版本 5 0 3 时 Python 控制台无法启动并显示以下错误 usr bin python2 7 usr lib pycharm community help
  • Kivy错误(python 2.7):sdl2导入错误

    我尝试在我的 Python 2 7 项目 在 PyCharm Windows 10 环境中 上使用 kivy 但出现以下错误 如果有人可以帮助我吗 谢谢 PS 我多次尝试卸载 重新安装库等 并按照像这样的帖子上的建议进行操作 但它不起作用
  • 从 PYCHARM 运行时使 PYTEST 更安静

    更新 下面显示的消息不受 pytest 各种 q 安静选项控制 它们来自 TeamCity 插件 请参阅下面我的回答 原文 我已经阅读了用于沉默 pytest 的现有堆栈溢出答案 但没有人告诉我如何沉默我收到的大量冗余 测试通过 消息 我有
  • 收到“/:未找到事件。”使用 PyCharm 远程调试器时

    当我使用 PyCharm 通过 ssh 进行远程调试时tcsh shell 服务器 很多时候它停止工作 并显示 未找到事件 更具体地说 我在 pycharm 调试控制台中遇到以下内容 ssh username hostserver 22 p
  • 如何从 PyCharm 项目中获取我的“exe”[重复]

    这个问题在这里已经有答案了 通过 PyCharm 在 Python 上编写一些项目 我想从中获取一个exe文件 我尝试过 另存为 gt XXX exe 但是 当我尝试执行它时出现错误 此类操作系统不支持该文件 附注 我有win7 x64 它
  • 从 PyCharm IDE 运行 Django 项目时出现“ImportError:没有名为 cv2 的模块”

    我正在从 PyCharm 运行一个 Django 项目 其配置设置为使用 virtualenv 中的 Python 解释器 该解释器依赖于 opencv 当我运行时 该网站在本地运行良好django admin py runserver 但
  • 如何在 PyCharm 中“查看”/突出显示制表符和空格以检查缩进?

    这可能听起来很愚蠢 但我还是个新手 有没有明确的方法可以发现 PyCharm 中的制表符或空格位于错误的位置 或者甚至以可视方式显示所有制表符和空格 我只是花了很长时间在函数的 Def 行寻找 无效语法 错误的问题 我原以为这可能仍然是一些
  • 当 py.test 测试失败时,PyCharm 是否可以进入调试状态

    运行测试时py test有一个 pdb失败时输入 pdb 的选项 从 PyCharm 中运行相同的测试时是否有类似的方法进入调试器 有一个 py test 插件 pytest pycharm https github com jlubcke
  • Pycharm 出现 Kivy 错误 [严重] [应用程序] 无法获取窗口,中止

    我正在尝试让示例 Kivy 代码之一在我的机器上运行 我使用的是 Pycharm 社区版 2017 1 安装了 anaconda python 2 7 和 Kivy 1 9 我已使用项目设置将 Kivy 模块和 Pygame 模块安装到项目
  • 如何在 PyCharm 社区版中运行 Django 项目的调试服务器?

    有人在 PyCharm 社区版中为 Django 项目设置调试配置时遇到问题吗 IDE 的社区版缺少项目设置中的项目类型选项 然后当我设置 调试 或 运行配置 时 它会要求我提供应该运行的脚本 Django 需要什么脚本 manage py
  • 在 PyCharm 中运行命令行命令

    你好 我正在使用Python 但之前从未真正使用过它 我收到一些命令 需要在终端中运行 基本上 python Test py GET feeds 我正在使用 PyCharm 我想知道是否有办法从该 IDE 中运行这些相同的命令 按 Alt

随机推荐

  • 【剑指offer】序列化二叉树

    解题思路 序列化时 xff0c 可以通过各种遍历方法 xff0c 例如层序遍历 递归遍历对二叉树进行遍历 xff0c 遍历过程中将每个节点的值拼接到字符串中 xff0c 注意每个节点之间用一个标识符隔开 xff0c 例如 xff0c 这是为
  • Linux cuda11.1安装torch_scatter,torch-sparse,torch-cluster,torch-spline-conv,torch-geometric

    创建虚拟环境 conda create n torch18 span class token assign left variable python span span class token operator 61 span span c
  • pytorch查看张量占用内存大小

    element size返回单个元素的字节大小 xff0c nelement返回元素个数 span class token keyword import span torch a span class token operator 61 s
  • MySQL8.0 集群安装 (K8S)

    尝试了很多版本的mysql镜像 xff0c 都存在这样那样的的问题 原始需求中 xff0c 需要同时支持x86 64 AMD64 和aarch64 ARM64V8 xff0c 最后找到Oracle官方出品的MySQL Server 8 0镜
  • 使用latex导出IEEE文献格式

    创建一个tex文件 xff0c 内容如下 documentclass span class token punctuation span a4paper span class token punctuation span 10pt span
  • IDEA中设置python解释器(不同虚拟环境)

    按住Ctrl 43 Shift 43 Alt 43 s xff0c 或 File gt Project Structure xff0c 在Module SDK处下拉找到对应的python解释器 xff0c 如果第一次添加python解释器
  • TF-IDF

    TF IDF xff08 term frequency inverse document frequency xff09 是一种用于信息检索与数据挖掘的常用加权技术 TF意思是词频 Term Frequency xff0c IDF意思是逆文
  • 第一次写博客-C/C++软件开发工程师需要学习哪些东西?

    学习路线概述 概述数据结构和算法操作系统计算机网络数据库设计模式 概述 作为一名本科机械电子 xff0c 研究生研究计算机视觉方向的211应届毕业生 xff0c 如何才能从事C C 43 43 软件开发类的工程师呢 xff1f 如果能有机会
  • Vue中使用v-for不能用index作为key值

    今天在改一个项目 xff0c 有一个 lt el tabs gt 的列表循环 xff0c 需要根据权限控制列表项的显示 xff0c 代码如下 xff1a span class token operator lt span template
  • java 冒泡排序 选择排序 插入排序及其异同点

    交换两坐标位置的swap 函数 之后要用到 span class token keyword public span span class token keyword static span span class token keyword
  • 自抗扰(ADRC)控制原理及控制器设计

    自抗扰控制是在PID控制算法基础上进行改进的新型控制方法 xff0c 它具有不依赖于控制对象模型 不区分系统内外扰的结构特点 常用的自抗扰控制器主要由跟踪微分器 xff08 Tracking Differentiator xff0c TD
  • LQR控制基本原理(包括Riccati方程具体推导过程)

    全状态反馈控制系统 状态反馈控制器 通过选择K xff0c 可以改变的特征值 xff0c 进而控制系统表现 LQR控制器 最优控制 xff0c 其本质就是让系统以某种最小的代价来让系统运行 xff0c 当这个代价被定义为二次泛函 xff0c
  • 运行VINS-Fusion时找不到vins_node节点的问题解决

    问题 xff1a 在执行 rosrun vins vins node span class token operator span span class token operator span catkin ws span class to
  • Faster RCNN(Pytorch版本)代码及理论笔记

    文章目录 前言一 Faster RCNN整体流程二 PASCAL VOC2012数据集1 简介2 下载方式3 文件结构及含义 三 加载数据集四 数据预处理1 流程2 标准化数据3 缩放4 将图片处理为统一尺寸5 数据预处理的输入输出 五 B
  • K8S 网络CNI

    1 简介 CNI 容器网络接口 Container Network Interface xff1a 由Google和Core OS主导制定的容器网络标准 xff0c 它仅仅是一个接口 xff0c 具体的功能由各个网络插件自己去实现 xff1
  • 二叉树-前-中-后序遍历

    二叉树 二叉树概念 xff1a 1 空树 2 非空 xff1a 根节点 xff0c 根节点的左子树 xff0c 根节点的右子树组成 注意 xff01 注意 xff01 时刻记得二叉树是根 xff0c 根的左子树 xff0c 根的右子树 xf
  • 变量的声明与定义&&内部函数与外部函数

    1 变量的声明与定义 对于函数 声明部分是对有关标识符 xff08 变量 函数 结构体 xff09 的属性进行声明 xff1b 函数的声明是函数的原型 xff0c 而函数的定义是对函数功能的定义 对被调函数的声明是放在主调函数的声明部分 x
  • 《Java面向对象编程(阿里云大学)》笔记(文档+思维导图)

    课程链接 xff1a https edu aliyun com course 1011 xff08 还是建议去看课程 xff0c 笔记仅供参考 由于文中的所有内容均为手敲 xff0c 并且有些代码并未验证 xff0c 因此如有错误 xff0
  • 《JDBC数据库开发进阶(阿里云大学》笔记(文档+思维导图)

    第1章 xff1a 事务处理 课时1 xff1a 事务的四大特性 xff08 ACID xff09 课时2 xff1a MySQL中开启和关闭事务 课时3 xff1a JDBC中完成事务处理 在JDBC中处理事务 xff0c 都是通过Con
  • PyCharm使用教程 --- 7、使用PyCharm进行DeBug调试

    很多新手朋友对PyCharm的使用无从下手 xff0c 于是花费了一点时间整理这份PyCharm操作手册 xff0c 完整PDF下载 xff1a 终于写完了 xff01 PyCharm操作手册 V1 0版本 PDF下载 目录如下 xff1a