powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Можно ли узнать параметры с которыми вызваны методы?
23 сообщений из 23, страница 1 из 1
Можно ли узнать параметры с которыми вызваны методы?
    #39121646
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем хотелка следующая, у меня есть ряд потоков, в которые хочется подсмотреть, чем они занимаются. В общем вытащить стек трейс не составляет большого труда, но еще хочется, чтобы на каждый StackTraceElement можно было узнать, что было в него передано в качестве параметров.
Возможно ли такое?

Подозреваю, что это JVM зависимое, меня интересует IBM J9VM, но если есть решение для HotSpot, то тоже интересно.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39121647
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, я идиот, перенесите в топик Java плиз...

Модератор: Тема перенесена из форума "Oracle".
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39121743
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jpda, jvmti
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122091
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх, с наскоку в этом не разберешься... Видимо прийдется неспешно ковырять.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122115
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimir,

Ну, можно проще, если инструментировать целевой код и через AOP все вызовы логировать.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122145
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В режиме отладки (как ни странно) тоже можно узнать параметры вызова.

Насчёт IBM J9VM невкурсе но должно быть на 99%.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122221
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
а это интересная идея, попытаться запустить продакшен сервер под дебагом :)
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122261
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirmayton,
а это интересная идея, попытаться запустить продакшен сервер под дебагом :)
Я не понял сарказма. Ты разработчик? Тогда требуй тестовую среду.
Не дают - добавь логгирование, JMX.

К чему хихикать и выдавать постфактумом ограничения?
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122312
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
без сарказма, действительно можно попытаться такое провернуть, забавно, что сам о таком очевидном варианте не подумал.

Выпады про разработчика и тестовую среду непонятны, интересующие меня явления в тестовой среде не воспроизводятся, воссоздать в тесте адекватный профиль нагрузки не получается, в общем есть много нюансов.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122316
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirбез сарказма, действительно можно попытаться такое провернуть, забавно, что сам о таком очевидном варианте не подумал.
Ну, вы, блин, даёте. Реально тут никто не знает что такое JPDA?
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122332
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
к своему стыду не знаю, но видимо буду разбираться... врядли бы полез, да вот кажись прижимать стало
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122339
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimir,

Я бы всётаки подумал над вариантом с AOP. Может оказаться что для получения отладочной инфы весь поток нужно останавливать.
Если это активный продакшн, то инструментация кода единственный производительный вариант.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122352
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirmayton,
без сарказма, действительно можно попытаться такое провернуть, забавно, что сам о таком очевидном варианте не подумал.

Выпады про разработчика и тестовую среду непонятны, интересующие меня явления в тестовой среде не воспроизводятся, воссоздать в тесте адекватный профиль нагрузки не получается, в общем есть много нюансов.
Да блин. Тыж девелопер. У тебя over 100500 методов ловить ошибку.
Это у админов и владельцев системы иногда нет инструментария.
Тыже упакован инструментами по самое немогу! Ну йомайо.

К аспектам тоже плюсую но при аннотировании с RetentionPolicy.RUNTIME мы наблюдали некую
просадку производительности так что тут надо посмотреть чтоб измерительный инструмент не внёс
слишком много ошибок Шрёдингера.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122414
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
можно подумать и над таким вариантом, но у меня есть кейсы, когда проблема где то в коде самого апп сервера.

Например, апп сервер детектит долго исполняющиеся треды (привожу вершину, если просмотреть стек от и до, то в нем ни строчки прикладного кода):
ThreadMonitor W WSVR0605W: Thread "WebContainer : 39" (0000007e) has been active for 616430 milliseconds and may be hung. There is/are 3 thread(s) in total in the server that may be hung.
at java.net.Inet4AddressImpl.getHostByAddr(Native Method)
at java.net.InetAddress$2.getHostByAddr(InetAddress.java:985)
...

Посмотрев на все это начинаешь подозревать, что наверное где то DNS косячит, но при проверке видно, что он отрабатывает моментально. И я даже не понимаю откуда у этого чуда ноги растут, подозреваю, если бы я видел с каким именем он не может совладать, то возможно было бы понятней.

Хотя конкретно здесь, то дождаться, выловить момент и собрать хип дамп, в нем расковырять.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122419
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй

-Djava.net.preferIPv4Stack=true
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122422
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
в свое время это было первое, что попробовали по данной проблеме... потом еще выкручивали время жизни dns кэша, все равно выплывает...
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122427
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimir,

Брр. Ну так бы и сказал что для анализа надо. Тут пишут что уже несколько лет как, при дампе кучи можно посмотреть все локальные переменные потоков. Сам не видел ещё такого.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122443
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
я бы сказал, что в идеале хочется создать инструмент для админов, позволяющий провести первичный анализ возникающих ситуаций.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122496
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirmayton,
в свое время это было первое, что попробовали по данной проблеме... потом еще выкручивали время жизни dns кэша, все равно выплывает...
Я не большой спец по сетям и DNS но вы могли поставить IP адрес вместо DN и хотя-бы отбросить в сторону
ложную версию о DNS-кешах.

Пробовали?
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122514
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
знать бы какое имя заменять, это может быть что угодно имя самого сервера, имена каких то смежных серверов, с которыми идет взаимодействие (LDAP каталог, БД, внешние SOAP сервисы и т.д.), а вот знание, что указано в переменной (=что он так долго не может разрезолвить) тут бы как раз помогло, было бы понятно, где стоит попытаться явно подставить ip'шник, вместо имени.

Но в общем то это частная ситуация, инструмент нужен и для других ситуаций.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122522
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Твои инструмент может не взлететь к пример если код был собран с опцией -g:none.
Не будет отладочной инфы и не будут подсвечиваться local variables.

Насчёт параметров стека вызова - я невкурсе. Надо попробовать потестить.
Но вобщем если ты - админ то ничего особо ты не сделаешь. Довольствуйся
стеком ошибок когда он рухнет в лог.

Дальше уже - по обстановке.
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39122537
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
ну как минимум мой прикладной код будет собран так, как мне надо. А стек ошибок не факт что вывалится, например, что-нибудь может просто тормозить, особенно классно, когда это что-нибудь смежное... а пока доказательную базу не подобьешь на тему, кто, где и как именно косячит, то все лучи добра от пользователей идут к нам :)
...
Рейтинг: 0 / 0
Можно ли узнать параметры с которыми вызваны методы?
    #39123106
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirmayton,
ну как минимум мой прикладной код будет собран так, как мне надо. А стек ошибок не факт что вывалится, например, что-нибудь может просто тормозить, особенно классно, когда это что-нибудь смежное... а пока доказательную базу не подобьешь на тему, кто, где и как именно косячит, то все лучи добра от пользователей идут к нам :)
Будет тормозить - значит либо циклить либо проваливаться в рекурсию.
Если ты девелопер то приблизительно проблемные места здаешь (DAO объекты,
объекты бизнес процессинга). Добавляешь туда JMX счётчики и наблюдаешь их состояние через
JMX консоль. Каков их будет физический смысл - неважно. Будь то количество прогонов цикла или
транзакций или Get запрософ - пофиг. Ты сам определяешь семантику. Главное что живой счётчик
сигнализирует о том что всё ОК. Неменяющийся - что-то плохо.

Про исключения поиска DN, IO, Connection уже проговорили. Ждёшь пока не упадёт исключение.

Ну как-то так вобщем.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Можно ли узнать параметры с которыми вызваны методы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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