Я хотел бы создать простой граф вызовов, чтобы иметь возможность анализировать поток выполнения в методах в java.
Так, например, если в коде я могу перейти от метода X к методу Y в ряде вызовов методов, то я хотел бы сгенерировать график вызовов, который показывает поток от метода X до метода Y.
Я попытался использовать SOOT, но мне не удалось получить этот требуемый график вызовов. Кто-нибудь знает API, который я могу использовать для создания таких графиков вызовов? Я использую Eclipse, однако я не могу использовать плагины, так как этот инструмент необходим для использования в нескольких проектах
Большое спасибо за вашу помощь
Это такой же хороший API, как я видел:
Я изучал, какие библиотеки статического анализа доступны для Java в последнее время. Вот некоторые из них, с которыми я столкнулся:
404
с
JTracer - это инструмент для понимания потока выполнения программ Java путем генерации и визуализации графиков вызовов. Различные события, такие как ввод метода и выход метода, регистрируются и визуализируются. Никакая модификация кода не требуется.
Вы можете в Y выбросить исключение, которое попало в X, а затем проанализировать трассировку стека исключений
// in X:
try {
do your calls ...
} catch (Exception e ) {
StackTraceElement[] elements = e.getStackTrace();
for (StackTraceElement e : elements ) {
// ... evaluate / print ...
System.out.println(e);
}
}