Python 怎么 debug
时间: 2025-06-01 07:43:36 浏览: 13
### Python 调试方法入门教程
Python 提供了多种调试工具和技术来帮助开发者快速定位并修复代码中的问题。以下是几种常见的调试方式及其具体实现:
#### 使用 `print` 和日志记录
对于简单的调试需求,可以通过打印变量值或使用日志模块跟踪程序执行过程。这种方法虽然基础,但在某些场景下仍然非常有效。
```python
import logging
logging.basicConfig(level=logging.DEBUG)
def example_function(x, y):
logging.debug(f"x={x}, y={y}")
result = x / y # 假设这里可能有除零错误
return result
try:
print(example_function(10, 0))
except ZeroDivisionError as e:
logging.error(f"Error occurred: {e}") # 记录异常信息
```
这种方式适合初学者或者小型项目的调试[^1]。
#### 单元测试辅助调试
编写单元测试可以帮助验证函数的行为是否符合预期。如果某个测试失败,则说明该部分代码存在问题,从而缩小排查范围。
```python
import unittest
class TestExampleFunction(unittest.TestCase):
def test_division(self):
self.assertEqual(example_function(10, 2), 5)
if __name__ == '__main__':
unittest.main()
```
结合断言 (`assert`) 可进一步增强测试能力[^1]。
#### 利用内置调试器 PDB
PDB 是 Python 自带的强大交互式调试器,允许设置断点、单步执行以及查看当前上下文环境。
启动 PDB 的两种常见途径如下:
- **嵌入模式**:在目标位置插入以下语句触发调试会话。
```python
import pdb; pdb.set_trace() # 设置断点
```
- **命令行调用**:直接运行带有 `-m pdb` 参数的脚本文件。
```bash
python -m pdb script.py
```
进入调试状态后可使用的指令包括但不限于:
- `n(ext)` 执行下一步;
- `c(ontinue)` 继续直到遇到下一个断点;
- `s(tep)` 进入子函数内部;
- `l(ist)` 显示当前位置附近的源码片段[^3]。
#### 集成开发环境 (IDE) 支持
现代 IDE 如 VSCode 或 Spyder 提供图形化界面简化了复杂项目的调试流程。以 VSCode 为例,只需定义好 launch.json 文件即可轻松配置参数并启动调试会话[^2]。
示例 configuration:
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
```
而在 Spyder 中创建断点仅需点击对应行号左侧空白区域完成操作;随后按 Ctrl+F5 键便可激活调试功能[^4]。
---
阅读全文
相关推荐















