Pycharm调试Debug篇(详细)

Pycharm调试Debug篇(详细)学习顺序 1 先学习本篇内容 基本够用了 2 再看 Alu CycleGAN 3 数据集与模型初始化 哔哩哔哩 bilibili 此视频 里面虽然没有专门介绍如何调试 但我们可以根据她的操作来学习调试的具体流程 pycharm 中的 debug 模式首先 还是用示例说话 我们书写一段简短的代码 来帮我们完成今天要讲的内容 defsum demo x y for inrange 2 x 1y 1result

pycharm中的debug模式

首先,还是用示例说话,我们书写一段简短的代码,来帮我们完成今天要讲的内容。

def sum_demo(x, y): for _ in range(2): x += 1 y += 1 result = x + y return result if __name__ == '__main__': result = sum_demo(1, 1) print(result)

肉眼识别下,猜猜结果是多少呢?初学者可能没见过 for 循环中的下划线,在 Python 中是占位符的意思,因为单纯的循环两次而已,并不用到它的循环结果。最终 result 会输出 6 。

在 pycharm 中,如何开启 debug 调试,一共有三种进入的方法,如下(下图均可点开放大观看):

方法一:

Pycharm调试Debug篇(详细)

方法二:

Pycharm调试Debug篇(详细)

方法三:

还有一种方法,就是 pycharm 导航栏处,有个run,点开以后即可看到 debug ,这里就不截图演示了。

单纯的进入 debug 模式,你会发现,与正常的 run 去运行程序没有差异。差异就是 pycharm 的控制台部分,从 run 跑到了 debug 显示。

Pycharm调试Debug篇(详细)

接下来要讲的,才是 debug 中的重中之重,即断点调试!

debug 的断点调试

断点调试,英文 breakpoint。用大白话来解释下,断点调试其实就是在程序自动运行的过程中,你在代码某一处打上了断点,当程序跑到你设置的断点位置处,则会中断下来,此时你可以看到之前运行过的所有程序变量。

来继续刚才的演示,pycharm 中如何设置断点。

点击前:

Pycharm调试Debug篇(详细)

点击后,皮一下,每行代码都设置上断点:

设置完断点后,开启 debug 调试模式运行下,看到结果:

Pycharm调试Debug篇(详细)

看到了这么多新摆设,是不是有点怕了!不怕,咱们先来从控制台每个按钮讲起:

Pycharm调试Debug篇(详细)

如果要是忘记中文意思的话,没有关系,鼠标指到按钮处,悬浮一会儿,会有英文提示的。继续再来说横排按钮:Pycharm调试Debug篇(详细)

其中,横排最重要,经常用到的按钮,来解释一下,自己鼠标悬浮去看英文即可:

step over(F8快捷键):在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。在不存在子函数的情况下是和step into效果一样的。简单的说就是,程序代码越过子函数,但子函数会执行,且不进入。

step into(F7快捷键):在单步执行时,遇到子函数就进入并且继续单步执行,有的会跳到源代码里面去执行。

step into my code(Alt+Shift+F7快捷键):在单步执行时,遇到子函数就进入并且继续单步执行,不会进入到源码中。

step out(Shift+F8快捷键):假如进入了一个函数体中,你看了两行代码,不想看了,跳出当前函数体内,返回到调用此函数的地方,即使用此功能即可。

示例演示

上面的基础概念明白了以后,直接用图片示例演示下:

1. 设置初步断点

Pycharm调试Debug篇(详细)

2. F7 进入函数

Pycharm调试Debug篇(详细)

3. F8 单步调试,往下执行代码

Pycharm调试Debug篇(详细)

继续 F8 单步调试,往下执行代码:

Pycharm调试Debug篇(详细)

继续 F8 单步调试:

Pycharm调试Debug篇(详细)

继续 F8 单步调试:

Pycharm调试Debug篇(详细)

Pycharm调试Debug篇(详细)

4. 看够了循环,想直接看最终 result 加完的结果,结果处打断点,直接 F9

Pycharm调试Debug篇(详细)

Pycharm调试Debug篇(详细)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198995.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午2:04
下一篇 2026年3月26日 下午2:04


相关推荐

  • 查看Linux内核版本命令[通俗易懂]

    查看Linux内核版本命令[通俗易懂]查看Linux内核版本命令(两种方法):1、cat/proc/version[root@S-CentOShome]#cat/proc/versionLinuxversion2.6.32-431.el6.x86_64(mockbuild@c6b8.bsys.dev.centos.org)(gccversion4.4.720120313(RedHat4.4.7-4)(GCC))#1SMPFriNov2203:15:09UTC20132、uname-a[ro

    2025年7月14日
    8
  • Clob类型与String类型的相互转换

    Clob类型与String类型的相互转换nbsp Clob 类型转换成 String 类型 publicString finalClobclo if clob null returnnull Readeris null try is clob getCharacter catch Exception

    2026年3月17日
    2
  • pycharm 使用 anaconda 环境[通俗易懂]

    pycharm 使用 anaconda 环境[通俗易懂]两个方法一:从annaconda内部打开pycharm这里有个下拉框可以选选择你要的anaconda环境再launch你的pycharm但有时候好像不大灵光还是用不上这个环境二:方法二就是万能方法从pycharm内部来配置环境,非常简单。界面最右上角齿轮图标,点击。找到interpreter这里下拉框可以选,发现没有anaconda的环境,你就showall然后点左上角加号选anaconda环境,再去添加你已经存在的anaconda环境。…

    2022年8月28日
    7
  • RapidXML问题

    RapidXML问题XML在编程中会经常应用RapidXML就是用C++实现的一种XML工具它是开源、灵活且高效的仅仅由4个头文件组成,可以直接编译到项目当中。rapidxml.hpprapidxml_utils.hpprapidxml_print.hpprapidxml_iterators.hpp在Linux或者Qt等环境想使用rapidxml_print.hpp中的类会有声明的问题,所以可以在文件的104行处插入如下代码template<classOutIt,classCh>inli

    2022年7月17日
    16
  • PHP headers_sent() 函数

    PHP headers_sent() 函数

    2021年9月22日
    50
  • vue前端框架有哪些

    vue前端框架有哪些vue 前端框架有哪些 2022 02 23 Worktile 项目协作工具 vue 前端 UI 框架有 1 Element2 iview3 vuetify4 vue strap5 cube ui6 buefy 等等 1 Elementeleme 框架的按钮组件 这款由饿了么前端开源的 UI 框架 一经面世 就收获大量程序员的芳心 在 github 上更是高达 29 8k 的 star 早已说明一切 用于开发 PC 端的页面还是绰绰有余的 如果说你是用 vue 开发者 却没用过 elem

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号