Python 的内置函数 breakpoint() 是一个用于调试的实用工具,它会在调用时自动进入调试器。这个函数是在 Python 3.7 版本中引入的,旨在简化调试过程,替代了之前常用的 import pdb; pdb.set_trace() 这种略显冗长的写法。
基本用法
当程序执行到 breakpoint() 语句时,会自动暂停并进入调试模式。默认情况下会使用 Python 自带的 pdb 调试器,但也可以通过环境变量 PYTHONBREAKPOINT 来指定其他调试器。
def calculate_sum(a, b):
result = a + b
breakpoint() # 程序会在此处暂停
return result
sum = calculate_sum(5, 3)
工作原理
breakpoint()实际上调用了sys.breakpointhook()- 默认情况下会启动
pdb调试器 - 可以通过设置
export PYTHONBREAKPOINT=0来全局禁用所有断点
自定义调试器
可以通过以下方式使用其他调试器:
export PYTHONBREAKPOINT=ipdb.set_trace # 使用 ipdb
export PYTHONBREAKPOINT=pudb.set_trace # 使用 pudb
使用场景
- 快速检查变量状态
- 单步执行代码调试
- 检查函数调用栈
- 动态修改变量值进行测试
注意事项
- 在生产环境中应移除或禁用所有
breakpoint()调用 - 可以通过
-O选项运行 Python 来禁用breakpoint() - 在 Jupyter Notebook 中可能需要额外配置才能正常使用
breakpoint() 函数大大简化了 Python 的调试流程,让开发者可以更高效地定位和修复代码中的问题。
随时随地看视频