2

いくつかのインスタンスを新規作成すると、その __ init __ が実行されます。

self._regex = value  
self._regex_dict = {}

Eclipse/PyDev デバッガーの変数ビューでself._regex_dictは、空と等しくなく、代わりに 1 つのエントリがあります。

変数ビューはself.regex自動的に生成されるようですが、残念ながら、次のメソッドが定義されており、1 つのエントリが出力されます。self._regex_dict

@property
def regex(self):
    ...
    self._regex_dict[language_code] = compiled_regex
    return self._regex_dict[language_code]

Eclipse/PyDev デバッガーの変数ビューの自動生成動作を防ぐための構成はありますか?

PS Eclipse/PyDev デバッガーの変数ビューをオフにすると、この問題は発生しません。しかし、デバッグ時には本当に必要です

ありがとう、

4

1 に答える 1

0

デバッガーがブレークポイントにヒットし、変数ビューが表示されると、コンテキスト内のすべてのオブジェクトに対して dir() が実行され、値ごとに str() が実行されて表示されます。

アクセスすると「舞台裏」の辞書にエントリを追加するプロパティ(正規表現)があり、変数ビューは間違いなくその値を表示しようとするため、それを回避する方法があるかどうかはわかりませんプログラムを変更したり、デバッガー自体を変更したりするよりも (pydevd_vars.frameVarsToXML で変数を取得します)。

于 2013-05-19T21:10:31.337 に答える