PyCharm 2025.2 Help

第 1 部分。 调试 Python 代码

准备示例

您还记得 数学课上的二次公式吗? 这个公式也被称为 A、B、C 公式,用于求解简单的二次方程: ax2 + bx + c = 0。 由于手动求解二次公式很快会变得乏味,让我们用脚本替代它。

将以下代码复制到项目中的文件中(尽管建议手动输入此代码):

import math class Solver: def demo(self, a, b, c): d = b ** 2 - 4 * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots" if __name__ == '__main__': solver = Solver() while True: a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = solver.demo(a, b, c) print(result)

如您所见,这里有 main 子句。 这意味着执行将从它开始,允许您输入变量 abc 的期望值,然后进入方法 demo

设置断点

要设置断点,只需点击您希望应用程序暂停的行旁边的边距:

添加断点

有关更多信息,请参阅 断点

启动调试会话

好了,现在我们已经添加了断点,一切都准备好进行调试了。

PyCharm 允许 以多种方式启动调试会话。 让我们选择一种:点击边距中的 运行 ,然后在打开的弹出菜单中选择命令 调试 'solver'

调试 Python 脚本

调试器启动,显示调试工具窗口的 控制台选项卡 ,并允许您输入期望值:

调试控制台

调试器在第一个断点处暂停程序。 这意味着带有断点的行尚未执行。 该行变为蓝色:

调试在第一个断点处停止

顺便说一下,当程序暂停时,您可以在 调试控制台 中输入 Python 命令:

在调试控制台中使用 Python 提示符

在调试器选项卡的 单步执行工具栏上,单击 恢复恢复程序(G) )按钮以移动到下一个断点。

内联调试

在编辑器中,您可以在代码行旁边看到斜体文本:

内联调试

这是什么意思?

这是所谓的 内联调试的结果。 在这种情况下,它显示了 Solver 对象的地址以及您输入的变量 abc 的值。

内联调试可以 关闭

请注意,您可以在调试会话过程中执行此操作!

让我们单步执行!

因此,您点击了按钮 恢复 ,现在看到蓝色标记移动到下一个断点。

如果您使用 单步执行工具栏按钮 ,您将移动到下一行。 例如,点击 单步跳过步过(O) )按钮。 由于启用了内联调试,变量的值以斜体显示在编辑器中。

逐步进入

现在在第 24 行(b = int(input("b: ")) )设置另一个断点,然后再次点击 恢复。 新的循环开始了。 在 调试控制台 中为 a 提供值。 调试器将在断点处停止。

单步跳过步过(O) )按钮将程序执行到当前方法的下一行时, 逐步进入步入(I) )按钮让您看到当前行是如何执行的。

点击 逐步进入步入(I) )按钮,您将看到在 a = int(input("a: ")) 行之后,调试器进入文件 parse.py

步入

如果您想专注于自己的代码,请使用 单步进入按钮单步进入我的代码 )按钮——这样您就可以避免进入库类。

监视

PyCharm 允许您监视变量。 切换到 线程和变量 选项卡,并输入您想要监视的变量名称。 请注意,代码补全是可用的:

添加新监视

起初,您会看到一个错误——这意味着变量尚未定义:

添加监视后出错

但是,当程序执行继续到定义变量的范围时,监视会显示如下视图:

正确添加监视

您可以使用相同的字段来评估表达式。

有关更多信息,请参阅 计算表达式 部分。

更改十进制变量的格式

在 PyCharm 调试器中,您可以以十六进制或二进制格式预览 int 变量。 当您调试包含二进制协议的网络脚本时,这可能特别有用。

要更改显示格式,请在 变量 列表中选择一个或多个 int 变量,右键点击,然后从上下文菜单中选择 以 | 十六进制 查看

上下文菜单以十六进制格式预览十进制值

变量的格式在变量列表和编辑器中都会更改。

被调试变量的十六进制表示

摘要

本简短教程结束了——恭喜! 让我们回顾一下您从中学到了什么:

  • 您复习了断点的知识,并学习了如何设置断点。

  • 您学习了如何开始调试会话,以及如何在调试控制台中显示 Python 提示符。

  • 您复习了有关内联调试的知识。

  • 您亲自尝试了单步执行、监视和评估表达式。

下一步是为 PyCharm 专业版用户准备的: 调试 Django 模板

最后修改日期: 2025年 9月 26日