Я написал синтаксический анализатор байт-кода Java с использованием Haskell, и он отлично работает. Однако следующий шаг поставил меня в тупик.
Моя программа на Haskell должна изменить файл .class, чтобы при выполнении программа на Java печатала:
«Введите здесь [имя метода]» перед выполнением метода и
«Выход из [имя метода здесь]» после выполнения метода.
Все, что я знаю, это то, что нам нужно будет добавить постоянный пул и таблицу методов с вызовами System.out.println
, но я чувствую, что все еще что-то упускаю.
- Как лучше всего подойти к этой проблеме?
- Откуда вы знаете, как вызывать
System.out.println
в байт-коде? - Как сохранить строку с именем метода, чтобы потом вызывать ее как аргумент
System.out.println
?
javaagent
. Приложения включают профилирование, АОП и другие. - person yshavit   schedule 21.04.2012