Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как изменять переменные Java приложения во время выполнения JVM?

Neon mode Гуру (3119), на голосовании 1 год назад
Есть ли такая программа для этого, которая захватывает сервер конкретного JVM и я могу менять практически всё?
Голосование за лучший ответ
Ратушняк Артём Мастер (1085) 1 год назад
В Java можно изменять значения переменных приложения во время выполнения JVM с использованием Java Debug Interface (JDI) и Java Virtual Machine Tool Interface (JVMTI).

JDI предоставляет API для взаимодействия с JVM во время выполнения и позволяет получать доступ и изменять значения переменных, вызывать методы и т.д. JVMTI предоставляет более низкоуровневый доступ к JVM и позволяет манипулировать с байт-кодом и взаимодействовать с JVM на уровне инструкций.

Если вы ищете инструменты, которые могут изменять переменные и поведение приложения во время выполнения, можно рассмотреть следующие варианты:

VisualVM: это мощный инструмент мониторинга и профилирования, который поставляется с JDK. Он может подключаться к запущенной JVM и предоставляет интерактивную среду для анализа производительности, отладки и диагностики приложений. С помощью VisualVM вы сможете менять значения переменных, следить за выполнением кода, вызывать методы и т.д.

Eclipse: популярная интегрированная среда разработки имеет встроенную функциональность отладчика, который позволяет изменять переменные во время выполнения. Просто установите соответствующие точки останова и используйте отладчик для изменения переменных.

JDWP: Java Debug Wire Protocol (JDWP) является протоколом отладки для взаимодействия с JVM. Вы можете создать собственную программу для подключения к запущенной JVM и использовать JDWP для изменения переменных, вызова методов и т.д.

Обратите внимание, что эти инструменты не предназначены для изменения "практически всего" в JVM. Некоторые операции могут быть ограничены безопасностью или зависеть от конкретных ограничений JVM.
Zhenya7727 Мудрец (11359) 1 год назад
Чем-то подобным занимается отладчик. Устройство этой фигни - ой, какое непростое.
Советую к изучению статью в нескольких частях:
https://habr.com/ru/articles/178007/
Darth Vader Знаток (274) 1 год назад
Если я правильно понял, то можно запустить твоё приложение которое будет менять значения переменных в одном потоке с тем приложением где надо менять
Neon modeГуру (3119) 1 год назад
Типа нужно создавать свой класс и кодить самому, чтобы он вызывал метод main оригинального главного класса и т.д.?
Darth Vader Знаток (274) Неон моуд, Да типо такого и изменять после как запуститься, ставить проверки если есть на что, я делал так для майнкрафта :) типо что то оконного чита (трейнера), проверки делал только если есть игрок и есть он в мире
Похожие вопросы