python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > PyCharm基础调试

PyCharm基础调试的教程

作者:QomolangmaH

PyCharm作为Python开发的集成环境,提供了全面的调试工具,文中通过图文及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

PyCharm 是一款强大的 Python 集成开发环境(IDE),提供了丰富的调试工具,帮助开发者在代码中找到并解决问题。下面是我将详细介绍 PyCharm 如何进行调试:

一、断点

断点是在特定点暂停程序执行的特殊标记,以便于检查程序状态和行为。断点可以很简单(例如,在到达某一行代码时挂起程序),也可以涉及更复杂的逻辑(检查其他条件、编写日志消息等)。
设置断点后,断点将保留在项目中,直到显式删除它(临时断点除外)。如果带有断点的文件在外部进行了修改,例如,通过 VCS 更新或在外部编辑器中进行了更改,并且行号已更改,则断点将相应地移动。注意,在进行此类更改时,PyCharm 必须处于运行状态,否则它们将被忽视。

1. 断点的类型

a. 行断点

在到达设置断点的代码行时挂起程序:可以在任何可执行代码行上设置这种类型的断点。

b. 异常断点

在抛出程序或其子类时挂起程序。在 PyCharm 中,您可以为 Python 异常设置断点。对于 PyCharm Professional,可以使用 Django、Jinja2、JavaScript 和 Jupyter 异常断点。它们全局应用于异常条件,不需要特定的源代码引用。Exception

2. 设置断点

a. 设置行断点

单击要设置断点的可执行代码行左侧行号位置:

b. 设置异常断点

3. 管理断点

a. 删除断点

b. 将断点静音

如果一段时间内不需要在断点处停留,可以将其静音。这允许您在不离开调试器会话的情况下恢复正常的程序操作。之后,您可以取消静音断点并继续调试。

单击“调试”工具窗口工具栏中的“静音断点”按钮

二、调试功能

0. 测试代码

def calculate_sum(numbers):
    total = 0
    for num in numbers:
        total += num
        # 在这里设置一个断点,以便在每次迭代时停止
        # 观察变量的值
        print(f'Current total: {total}')
    return total


if __name__ == "__main__":
    # 创建一个数字列表
    my_numbers = [1, 2, 3, 4, 5]

    # 调用计算总和的函数
    result = calculate_sum(my_numbers)

    # 打印最终结果
    print(f'The sum of the numbers is: {result}')

1. 设置断点

在你想要观察变量值的位置设置断点。比如,我们设置一个断点在print(f'Current total: {total}')行上。

在行号左侧单击,将在该行设置一个红色的断点。

2. 调试的多种启动方式

快捷键:Shift+F9 (Fn+Shift+F9)

点击下图“绿色小虫子”按钮

鼠标右键点击下图“调试”

点击菜单栏运行——调试

3. 观察调试控制台

上述操作完成后,PyCharm 将开始运行代码,当执行到断点时,会在调试控制台中停下。在这里,你可以查看当前的变量值和代码状态,以及其他调试操作。

a. 步过

Step Over (F8): 执行当前行,如果当前行是一个函数,则不会进入函数内部。

步过右侧各图标依次如下,下面将不再截图介绍

b. 步入

Step Into (F7): 进入函数内部执行,如果当前行不是一个函数调用,则表现和 Step Over 一样。

c. 单步执行代码

d. 步出

Step Out (Shift + F8): 执行完当前函数的剩余部分,并停在调用该函数的地方。

e. 运行到光标处

Continue (F9): 继续执行程序,直到下一个断点或者程序结束。

f. 重新启动程序

Restart (Ctrl + F5): 重新启动程序。(左侧最上方"绿色回旋")

g. 停止调试

Stop (Ctrl + F2): 停止调试。(左侧中间"红色方框")

三、高级调试功能

PyCharm 还提供了一些高级调试功能,比如条件断点、异常断点、远程调试等,具体有待进一步完善~

到此这篇关于PyCharm基础调试的教程的文章就介绍到这了,更多相关PyCharm基础调试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文