Подтвердить что ты не робот

Есть ли способ в отладчике Eclipse быть уведомленным при изменении состояния объекта Java?

Я отлаживаю некоторый унаследованный код, где у нас есть кешированный объект, который внешне внешне изменен.

Если я знаю идентификатор объекта для него (при отладке), есть ли способ "смотреть" его так, чтобы, если какой-либо другой код в том же потоке или другом потоке пытается изменить его состояние, он вызовет мою отладку?

Я не могу использовать только выражение для него, потому что там могут быть ссылки на этот объект в другом месте, и поскольку существует много экземпляров одного и того же класса.

4b9b3361

Ответ 1

Установите точку останова в коде, который вы хотите остановить, когда значение изменится.

  • Начните с просмотра точки останова.
  • Выберите точку останова
  • щелкните правой кнопкой мыши и перейдите к "свойствам точки останова"
  • Установите флажок "Включить условие"
  • в текстовом поле введите имя переменной, чтобы посмотреть
  • выберите переключатель "значение изменения условий"

Ответ 2

Если он объявлен где-то как переменная класса или экземпляра (должно быть, как еще вы можете его кэшировать), тогда вы также можете просто установить точку останова на конкретной строке. Он будет называться watchpoint и по умолчанию будет запущен при доступе и изменении (настраивается через свойства точки останова).