Применение AspectJ для отладки чужой jar-ки
Задача: Есть программа написанная на Java (только *.jar, сурсов нету), необходимо принтануть все вызовы методов в программе.
Неверное решение:
1) Создать Aspect Project в eclipse.
2) Добавить jar программи к проекту.
3) Создать Aspect AppLauncher.aj:
import java.io.PrintStream; import apppackage.AppMain; public aspect AppLauncher { private static final PrintStream o = System.out; before() : execution(* *.*(..)) { try { o.println(thisJoinPoint.getSourceLocation()); } catch (Exception e) { } } public static void main(String[] args) { AppMain.main(args); } }
Неверный результат:
AppLauncher.aj:13 // принтануло только AppLauncher.main()
Вопрос: Как правильно принтануть все вызовы методов в программе?
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів