powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как в отладчике найти переменные, указывающие на определённый объект?
5 сообщений из 5, страница 1 из 1
Как в отладчике найти переменные, указывающие на определённый объект?
    #38389731
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в отладчике имея "адрес" (Число которое вернул native int hashCode() класса Object - это же адрес?) найти переменные, которые на него указывают?

Есть лог, содержащий:
Код: sql
1.
FINER: javafx.scene.layout.Region resize VirtualFlow$ClippedContainer@12c4d93 resized to 288.0 x 28.0


Я хочу поискать объекты с хэшем 0x12c4d93 и ссылки на них.

Класс в котором примерно должна быть переменная - известен (но возможно она находится в его предках\полях).
Желательно в NetBeans (но если знаете только как сделать в каком-нибудь другом инструменте - все равно интересно).
...
Рейтинг: 0 / 0
Как в отладчике найти переменные, указывающие на определённый объект?
    #38389737
DEVcoach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Штатных инструментов, что бы получить такое на бегущей JVM нет.
2) Можно поискать через хип дампы, воспользовавшись MAT или VisualVM.
3) Самый простой способ - скачать исходники JavaFX, и поставить брейкпоинт на соответствующей строке. Если требуемых исходников нет (JavaFX не полностью открыт), то скачать исходники логгера, и поставить брейкпоинт в методе, который отпечатывает FINER с условием. В условии вбить имя класса, из которого должно прийти сообщение.
Наконец, вы можете запихнуть в конфигурацию slf4j свою реализацию, и поставить брейкпоинт в ней.

Третий метод значительно проще и быстрее, чем копание в хипдампе.
...
Рейтинг: 0 / 0
Как в отладчике найти переменные, указывающие на определённый объект?
    #38389754
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEVcoach, спасибо за быстрый ответ.

Я скачал исходники javafx 2.2 (нужные классы есть (com.sun.javafx.logging.PlatformLogger не искал)).
Собрал в NetBeans (проекты были для IDEA). Немного модифицировал класс javafx.scene.control.ComboBox, но не смог запустить свой проект так чтобы использовался модифицированный ComboBox. Сделал рефакторинг (переименовал пакет javafx.scene.control в ru.javafx.scene.control (и в своём проекте использовал этот пакет)) - не заработало.

Вопрос - как прикрутить исходники javafx 2.2 (хотя можно и 8) чтобы их можно было модифицировать.
...
Рейтинг: 0 / 0
Как в отладчике найти переменные, указывающие на определённый объект?
    #38389759
DEVcoach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avp.mk ,
А зачем вам их модифицировать? Вам надо просто подключить их к проекту, и поставить брейкпоинт в том месте, откуда прет это сообщение.
...
Рейтинг: 0 / 0
Как в отладчике найти переменные, указывающие на определённый объект?
    #38390295
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEVcoachВам надо просто подключить их к проекту, и поставить брейкпоинт в том месте, откуда прет это сообщение.
Исходиков на используемый логгер (com.sun.javafx.logging.PlatformLogger) - нет.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как в отладчике найти переменные, указывающие на определённый объект?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]