下面给你一份 最清晰、最实用的 Spyder(Python IDE)Debug 调试简介,适合初学者和已经使用过 Spyder 的开发者快速掌握调试技巧。
🐞 Spyder Debugging 调试简介
Spyder 是基于 Python 的科学计算 IDE,内置强大的可视化调试器 pdb++(增强版 pdb),并通过 GUI 让调试更直观。
🔧 一、Debug 调试的核心功能
Spyder 的 Debug 模块可帮助你:
- 逐行执行(Step)
- 跳入函数(Step in)
- 跳过函数(Step over)
- 跳出当前函数(Step out)
- 设置断点(Breakpoints)
- 查看变量值(Variable Explorer)
- 查看堆栈(Stack)
- 查看当前执行位置(当前行高亮)
- 运行到光标(Run to cursor)
- 手动输入调试命令(pdb 命令)
🟦 二、如何进入 Debug 模式(4 种方式)
1. 在代码里设置断点(Recommended)
在行号左侧点击一次 → 出现一个红点。
然后点击工具栏的:
▶ Debug file
程序会运行到断点处自动暂停。
2. 使用 Debug ▶ Run(按 F5)
选择:
Debug -> Debug with dependency
或
工具栏的 🐞图标
适合想逐行执行整个程序的人。
3. 使用 “Debug cell” 在 Notebook 模式下调试
Spyder 支持 “cell 分块”(以 # %% 分割)。
在某个 cell 里点右键 → Debug cell
可用于分析小片段代码。
4. 手动插入 pdb
在代码中加入:
import pdb; pdb.set_trace()
运行后会自动进入调试器。
适合传统控制台调试风格。
🟩 三、Spyder 调试器按钮详解
调试时会出现一组按钮:
| 按钮 | 动作 | 说明 |
|---|---|---|
| ▶ Continue | 继续执行到下一个断点 | 最常用 |
| ➤ Step over | 执行下一行,不进入函数内 | 跳过内部函数 |
| ⤵ Step into | 进入函数内执行 | 追踪函数内部逻辑 |
| ⤴ Step out | 执行当前函数剩余部分并返回 | 退出函数内部 |
| ⌖ Run to cursor | 运行到光标处 | 临时快速跳过中间代码 |
🟨 四、Variable Explorer(变量查看)是 Spyder 的王牌
调试停住时,你可以直接看到:
- 数字 / 字符串(直接显示)
- 列表、Dict
- Numpy 数组(可打开为表格)
- Pandas DataFrame(像 Excel)
- 自定义对象
你可以:
- 双击变量 → 查看内容
- 修改变量值 → 实时生效
- 右键:Copy、Plot、Save
这比 VS Code 或 PyCharm 更适合数据科学调试。
🟧 五、断点管理(Breakpoints 面板)
点击 Debug → Breakpoints:
可以:
- 查看所有断点
- 快速启用/禁用
- 删除断点
- 添加带条件的断点(Conditional breakpoint)
例如:
右键断点 → 添加条件
x > 10
程序只在 x > 10 时停下,非常方便。
🟥 六、最实用 Debug 工作流(推荐)
- 在可疑行加 1~2 个断点
- 点击 Debug file
- 程序停住后查看变量
- Step over / Step into 跟踪逻辑
- 必要时修改变量重新运行
- 当程序正常时删除断点
🔥 七、Spyder Debug 的常见问题
■ 程序不进入 Debug 模式?
你可能用了 “Run file” 而不是 “Debug file”。
使用工具栏中带 🐞 图标 的运行按钮。
■ 断点不起作用?
- 文件未保存
- 断点处代码未被执行到
- 正在调试旧版本缓存(重启 Spyder)
■ 死循环无法退出?
调试工具栏右侧有 🟥 停止(Stop),强制终止。