Я пытаюсь создать инструмент, который может захватить все чтения и записи, сделанные программой Java. Кроме того, я хотел бы знать, в каких областях доступен или изменен объект.Как поймать чтение и запись в java-программе?
В настоящее время я смотрел на: -
1) java.lang.instrument Я не мог делать с этим. Я не мог понять, как написать агента, который может получить доступ к запущенной программе и создать часы на разных объектах/полях и все, что связано. Я бы оценил, есть ли у вас какие-либо идеи или информация по этому поводу.
2) JVMTI Я смотрел на JVMTI и попытался создать JVMTI инструмент, но я понял, что, чтобы получить объекты, я бы нужен JVMTI_EVENT_OBJECT_ALLOC быть потенциальная возможность. Но я понял, что это не так. Более того, я читал, что это событие не вызывается для команда. Следовательно, на данный момент даже это не представляется возможным.
Итак, я хотел бы знать, знаете ли вы, каким образом вы делаете то, что я хочу делать, используя вышеупомянутые методы или любую другую технику/инструмент, о которых вы, возможно, знаете?
ПРИМЕЧАНИЕ. У меня нет доступа к исходному коду приложения. Все, у меня есть файлы классов.
Являются ли файлы классов скремблированными или вы можете их декомпилировать? – Matt
Привет, Мэтт, у меня есть приложения java как отдельные файлы jar. – Ankit
Мой вопрос больше подходит: вы хотите решить проблему вообще или только для своего конкретного файла jar? – Matt