小编hre*_*ef_的帖子

有没有办法进入装饰函数,跳过装饰器代码

我有一个模块,用自定义装饰器装饰一些关键功能.

使用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到给定的装饰函数时跳过所有装饰器代码.

python decorator pdb

10
推荐指数
2
解决办法
2031
查看次数

标签 统计

decorator ×1

pdb ×1

python ×1