debugging 有没有办法在Python内置函数(如print())上设置调试器断点?

cld4siwp  于 2022-11-24  发布在  Python
关注(0)|答案(1)|浏览(100)

我有一个很大的代码库,在其中的某个地方有一个打印语句,它打印了许多'\n'换行符。
我知道我可以在自己的代码上设置断点,但是**有没有办法在Python的内置print()语句中设置断点?**或者任何内置函数。
最简单的方法是什么?

gdx19jrr

gdx19jrr1#

Python可以在运行时打补丁,所以你可以在运行时早期添加类似这样的东西:

import builtins
orig_print = builtins.print

def my_print(*args, **kwargs):
    orig_print(*args, **kwargs)
    breakpoint()

builtins.print = my_print

请注意,还有其他方法可以获取stdout/stderr上的字节,例如sys.stdout.writelogging流处理程序,它们可能不一定要通过print调用。

相关问题