我有一个模块,用自定义装饰器装饰一些关键功能.
使用pdb调试这些函数通常有点痛苦,因为每次我进入一个装饰函数时,我首先必须逐步完成装饰器代码本身.
我当然可以将调试器设置为在我感兴趣的函数内断开,但作为关键函数,它们从很多地方被多次调用,因此我通常更喜欢在函数外部开始调试.
我试图用代码来说明它,但我不知道这是否有帮助:
def i_dont_care_about_this(fn):
@functiontools.wraps(fn)
def wrapper(*args, **kwargs):
return fn(*args, **kwargs)
return wrapper
@i_dont_care_about_this
def i_only_care_about_this():
# no use to set pdb here
def i_am_here():
import pdb; pdb.set_trace()
i_only_care_about_this()
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法让我i_only_care_about_this从中i_am_here走出来而不经过i_dont_care_about_this?
基本上我想在使用s到(s)tep到给定的装饰函数时跳过所有装饰器代码.