【最新版】PyCharm基础调试功能详解

2024-07-30 11:22:33 浏览数 (1)

一、断点

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

1. 断点的类型

a. 行断点

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

b. 异常断点

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

2. 设置断点

a. 设置行断点

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

b. 设置异常断点
  • Ctrl Shift F8或选择“运行”|”从主菜单查看断点。
  • 在“断点”对话框中,按AltInsert或单击 “添加”按钮,然后选择“Python 异常断点”或“JavaScript 异常断点”。

3. 管理断点

a. 删除断点
  • 对于非异常断点:单击装订线中的断点。
  • 对于所有断点:转到“运行”|”查看断点 Ctrl Shift F8,选择断点,然后单击“删除” Delete.
b. 将断点静音

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

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

二、调试功能

0. 测试代码

代码语言:javascript复制
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 还提供了一些高级调试功能,比如条件断点、异常断点、远程调试等,具体有待进一步完善~

0 人点赞