以下是Visual Studio Code 中 Python Debug(调试)最全教学指南,适合从入门到进阶使用,内容覆盖了设置断点、变量监控、调试配置、断点条件、远程调试、单元测试调试等多个方面。
🧭 目录
- 安装 VSCode Python 扩展
- 基础调试功能
- 运行与调试窗口
- 设置断点
- 查看变量与堆栈
- 使用 Watch(观察)窗口
- 配置
launch.json
(高级调试配置) - 常见调试场景设置
- 命令行参数传递
- 以模块方式启动
- 调试 Flask/Django
- 条件断点与日志断点
- 多线程调试
- 单元测试调试
- 远程调试(Remote Debug)
- Docker 容器中的调试
- Jupyter Notebook 中的调试
- 调试技巧与快捷键汇总
1. 安装 VSCode Python 扩展
- 打开 VSCode
- 前往扩展(Extensions)窗口:
Cmd+Shift+X
(macOS)或Ctrl+Shift+X
(Windows/Linux) - 搜索并安装 Python 扩展(由 Microsoft 提供)
- 推荐安装:
- Python
- Pylance(用于类型提示与智能补全)
- Jupyter(如果你使用 notebook)
2. 基础调试功能
启动调试器
- 点击左侧菜单中的「运行和调试」(Run and Debug)
- 或使用快捷键:
F5
设置断点
- 单击代码行号左侧的空白处,添加断点
- 断点变为红点,表示已激活
查看变量和调用堆栈
- 调试时,左侧窗口会出现:
- 变量(Variables)
- 监视(Watch)
- 调用堆栈(Call Stack)
- 断点列表(Breakpoints)
控制调试流程
- 工具栏按钮含义:
- ▶️ 继续(Continue)
F5
- ⏩ 单步跳过(Step Over)
F10
- ⬇️ 单步进入(Step Into)
F11
- ⬆️ 单步跳出(Step Out)
Shift+F11
- ⏹️ 停止调试
- ▶️ 继续(Continue)
3. 配置 launch.json
点击「运行和调试」 → 「创建 launch.json
文件」,选择环境为 Python。
示例:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python:当前文件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
4. 常见调试场景设置
调试传参程序
"args": ["arg1", "arg2"],
调试模块(如以 -m
启动模块)
"module": "my_module",
"justMyCode": false,
Flask 示例配置:
{
"name": "Flask 调试",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "app.py",
"FLASK_ENV": "development"
},
"args": ["run", "--no-debugger", "--no-reload"],
"jinja": true
}
Django 示例配置:
{
"name": "Django 调试",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"args": ["runserver"],
"django": true
}
5. 条件断点与日志断点
条件断点(右键断点 → 编辑断点)
例如:
x == 5
日志断点(不暂停,仅打印信息)
设置表达式作为输出信息:
Value of x: {x}
6. 多线程调试
- 默认支持多线程
- 可在
launch.json
添加:
"subProcess": true,
7. 单元测试调试
设置单元测试框架(如 unittest 或 pytest)
- 命令面板:
Ctrl+Shift+P
→Python: Configure Tests
- 启动测试 → 点击测试用例旁边的调试图标 🐞
8. 远程调试(Remote Debug)
使用 debugpy
:
pip install debugpy
在代码中插入:
import debugpy
debugpy.listen(("0.0.0.0", 5678))
debugpy.wait_for_client()
debugpy.breakpoint()
在 VSCode 中使用“附加到远程进程”:
{
"name": "附加调试",
"type": "python",
"request": "attach",
"connect": {
"host": "127.0.0.1",
"port": 5678
}
}
9. Docker 容器中的调试
- 容器中运行
debugpy
- 主机端 VSCode 使用 remote attach 模式
- 推荐使用 VSCode 的 Remote Containers 插件
10. Jupyter Notebook 中的调试
- 安装 Jupyter 扩展
- 使用调试图标启用 Cell 级调试
- 支持断点、单步运行、变量查看
11. 调试技巧与快捷键汇总
功能 | 快捷键 |
---|---|
启动调试 | F5 |
单步跳过 | F10 |
单步进入 | F11 |
单步跳出 | Shift+F11 |
添加观察 | 右键变量 → 添加到观察 |
暂停程序 | Ctrl+Shift+F5 |
📚 参考资料
如需为你量身定制一份 launch.json
或调试配置文件,可以发我你的项目结构和调试需求,我可以进一步帮你定制。
发表回复