Есть ли способ установить точку останова на доступ к переменным в Python с PyDev? - PullRequest
2 голосов
/ 18 октября 2011

У меня есть глобальная переменная (я знаю), которая где-то меняется с хорошего значения на плохое. Я не знаю где, и я хотел бы узнать где. Мне бы хотелось, чтобы мой отладчик (Eclipse / PyDev) прерывал каждый раз, когда любой код записывает в эту глобальную переменную, что-то вроде аппаратных точек останова в OllyDBG.

Один трюк, который я обнаружил, который иногда работает в этой ситуации, - это рефакторинг переменной как свойства и затем установка точки останова в установщике этого свойства: любой доступ к переменной проходит через установщик, и я получаю то, что хочу от отладчик. Это не работает в этом случае.

Идеи? * * 1005

1 Ответ

2 голосов
/ 18 октября 2011

К сожалению, PyDev не имеет такой функции (и, подумав немного о том, как это будет реализовано, я не смог придумать способ реализовать это) - ваше решение об изменении его для свойства - это один я использую, когда мне нужна эта функция (и она не будет работать для глобальной переменной, как вы сказали ... в этом случае вместо глобальной переменной у меня обычно есть экземпляр 'holder', который содержит переменные, в которых на случай, если все еще можно создать свойство, чтобы оно работало).

@ slowdog: это был другой вопрос, связанный с точками наблюдения (который сейчас работает на PyDev).

...