カスタムデコレータでいくつかの主要な機能を装飾するモジュールがあります。
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()
それで、私が通過せずにi_only_care_about_this
から入る方法はありますか?i_am_here
i_dont_care_about_this
基本的に、特定の装飾された関数にs to ( s )tep を使用する場合、すべてのデコレータ コードをスキップしたいと考えています。