如何给Python内置函数print()设置调试断点?
给Python内置print()函数设置断点的最简单方法
方法一:临时替换内置print为带断点的包装函数
在代码入口位置(比如主模块开头)添加以下代码,把内置print替换成带断点的包装函数,每次调用print时都会触发调试断点,方便查看调用栈定位输出来源:
import builtins import pdb # 保存原始print函数 original_print = builtins.print def traced_print(*args, **kwargs): # 触发断点 pdb.set_trace() # 调用原始print完成正常输出 return original_print(*args, **kwargs) # 替换内置print builtins.print = traced_print
调试完成后,记得执行builtins.print = original_print恢复原始函数功能。
方法二:在pdb调试会话中直接给内置print设断点
如果通过python -m pdb your_script.py启动了pdb调试环境,直接执行以下命令即可给内置print设置断点:
b builtins.print
输入c命令继续运行程序,每次调用print时会自动触发断点,此时用where命令就能查看当前调用栈,找到输出大量换行的代码位置。
内容的提问来源于stack exchange,提问作者Jacob Waters
相关产品推荐
相关产品推荐

