Tengo un módulo que decora algunas funciones clave con decoradores personalizados.¿Hay alguna manera de entrar en las funciones decoradas, omitiendo el código de decorador
La depuración de estas funciones con pdb a menudo es un poco molesta, porque cada vez que entro en una función decorada primero tengo que pasar por el código del decorador.
Por supuesto, simplemente configuré el depurador para romper dentro de la función que me interesa, pero como funciones clave se llaman muchas veces desde muchos lugares, por lo que generalmente prefiero comenzar a depurar fuera de la función.
Me trataron de ilustrar con el código, pero no sé si eso ayuda:
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()
así, ¿hay alguna manera de entrar en i_only_care_about_this
de i_am_here
sin pasar por i_dont_care_about_this
?
Esencialmente Quiero saltar todo el código decorador cuando se utiliza s a (s) tep en una función decorada dado.
¿Cómo se supone AP saber que una función está decorado y en en qué punto se encuentra la función original ¿re? Tendría que adaptar sus decoradores y PDB para hacer algo como esto posible. –
Pensé que podría haber una manera, ya que mi conocimiento de cómo Python maneja los decoradores internamente es algo limitado. –