深入理解Pycharm的Debug调试

(程序员必学必会,新手友好、小白请进)

Debug调试,是一项学习编程人员的重要技能。只有当你学会 debug 了以后,才可以正确的知道程序的走向流程是如何的,今天就来给大家介绍一下 pycharm 中的 debug 功能!

一、Debug名字由来

1937年,美国青年霍华德·艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿行业,正式跨进“计算机”领地。
为马克1号编制程序的是哈佛的一位女数学家葛丽斯·莫雷·霍波,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为排除程序故障的意思。
百度百科

看了上面的小故事,debug 一词的由来,是由 bug 词得来的,bug 是臭虫的意思,debug 就是解决臭虫。

在如今的互联网时代,多少你肯定听说过 bug 这个词,比如什么什么软件又出 bug 了!说的就是软件在使用的过程中,程序出现了一些错误。故称之为 bug。

而 debug 则是通过工具来对代码进行调试,一步步找出程序中出现 bug 的位置,也就是程序中具体错误代码的位置。就像故事中所说,debug过程就是在解决虫子一样。

二、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 导航栏处,有个run,点开以后即可看到 debug ,这里就不截图演示了。

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

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

二、Pycharm中的Debug的断点调试

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

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

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

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

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

Resume program(F9快捷键):继续恢复程序,直接运行到下一断点处。

以上四个功能,就是最常用的功能,一般操作步骤就是,设置好断点,debug运行,然后 F8 单步调试,遇到想进入的函数 F7 进去,想出来在 shift + F8,跳过不想看的地方,直接设置下一个断点,然后 F9 过去。

三、示例演示

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

1、设置初步断点

在这里插入图片描述

2、F7 进入函数

在这里插入图片描述

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

在这里插入图片描述
继续 F8 单步调试,往下执行代码:

在这里插入图片描述
继续 F8 单步调试:
在这里插入图片描述
继续 F8 单步调试:
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
以上就是断点调试的全过程,使用断点可以快速帮助我们理解程序中的各处逻辑。当然,眼看为虚,手动为实,你快自己动手操作一遍,包你学会!

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果PyCharmdebug调试不能用,可能是以下几个原因造成的: 1. PyCharm配置错误:确保你的PyCharm已经配置了正确的Python解释器。 2. 文件路径错误:确保你的代码文件路径正确。 3. 代码错误:确保你的代码没有语法错误。 4. 版本问题:确保你的PyCharmPython版本兼容。 5. 缺失或损坏的调试器:确保你的PyCharm安装了调试器插件。 6. 你可以尝试重新安装pycharm,或者在pycharm重新配置debug工具。 ### 回答2: 首先,确定您的PyCharm版本是否支持调试功能。如果版本不支持调试,则需要升级或更改IDE。另外,请确保您使用的是正确版本的Python解释器,PyCharm应该能够正确与其集成。 在开始调试前,请务必确保您的代码包含了调试点。调试点能够帮助您追踪代码执行过程的问题。通过单击左侧行号旁边的小红点,在该行上设置断点。当执行代码时,程序将会在该处暂停,您可以一步步执行代码并检查相关变量值。 如果发现PyCharm调试不能用,通常是因为以下原因: 1. 没有正确地配置调试环境。请确保您已选择正确的Python解释器并设置正确的调试选项。建议在设置进行检查并重新创建一个适当的Python环境。 2. 调试设置错误。请检查您的配置,确保已选相应的调试选项和模式。 3. 程序存在语法错误或其他常见错误。请确保您的代码没有语法错误和其他常见错误,这些问题可能会导致程序无法正常运行。 如果您无法解决这些问题,请尝试重新安装PyCharm并进行更新,或考虑使用其他IDE进行代码调试。 您也可以寻求有经验的开发者的帮助,或寻找相关问题的解决方案和论坛帖子,以帮助您消除PyCharm调试问题。 ### 回答3: 首先,需要确认一下是否在PyCharm设置了断点。在代码行号的左侧单击可以设置断点,为红色表示已设置断点。 其次,需要确认一下是否选择了正确的Debug配置。Debug模式启动时,需要选择正确的Python解释器和运行文件,确保运行的代码是可调试的。 接着,需要检查一下代码是否出现错误。如果代码存在语法错误或逻辑错误,调试将无法正常运行。因此,在启动调试前可以先尝试进行代码检查和测试。 如果上述步骤都没有问题,可以考虑重启PyCharm或电脑并重新尝试调试。如果还是无法正常运行,则需要卸载并重新安装PyCharmPython解释器。 最后,如果以上方法仍然无法解决问题,可以尝试在PyCharm官方社区或相关论坛询问或寻求帮助。也可以尝试使用其他调试工具,如pdb或Winpdb等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值