一、断点 断点是在特定点暂停程序执行的特殊标记,以便于检查程序状态和行为。断点可以很简单(例如,在到达某一行代码时挂起程序),也可以涉及更复杂的逻辑(检查其他条件、编写日志消息等)。
设置断点后,断点将保留在项目中,直到显式删除它(临时断点除外)。如果带有断点的文件在外部进行了修改,例如,通过 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 还提供了一些高级调试功能,比如条件断点、异常断点、远程调试等,具体有待进一步完善~