文章目录
- 一、断点
- 1. 断点的类型
- a. 行断点
- b. 异常断点
- 2. 设置断点
- a. 设置行断点
- b. 设置异常断点
- 3. 管理断点
- a. 删除断点
- b. 将断点静音
- 二、调试功能
- 0. 测试代码
- 1. 设置断点
- 2. 调试的多种启动方式
- 3. 观察调试控制台
- a. 步过
- b. 步入
- c. 单步执行代码
- d. 步出
- e. 运行到光标处
- f. 重新启动程序
- g. 停止调试
- 三、高级调试功能
PyCharm 是一款强大的 Python 集成开发环境(IDE),提供了丰富的调试工具,帮助开发者在代码中找到并解决问题。下面是我将详细介绍 PyCharm 如何进行调试:
一、断点
断点是在特定点暂停程序执行的特殊标记,以便于检查程序状态和行为。断点可以很简单(例如,在到达某一行代码时挂起程序),也可以涉及更复杂的逻辑(检查其他条件、编写日志消息等)。
设置断点后,断点将保留在项目中,直到显式删除它(临时断点除外)。如果带有断点的文件在外部进行了修改,例如,通过 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. 测试代码
def calculate_sum(numbers):total = 0for num in numbers:total += num# 在这里设置一个断点,以便在每次迭代时停止# 观察变量的值print(f'Current total: {total}')return totalif __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 还提供了一些高级调试功能,比如条件断点、异常断点、远程调试等,具体有待进一步完善~