I have to understand a old, large java code base not written by me.
To track any flow, If I know any class which gets called in that flow, I throw an Exception (like below) to get a stack trace to console, to understand which methods called so far and continue further.
        try {
            throw new Exception();
        } catch (Exception e) {
            e.printStackTrace();
        }
This helps me some extent, But I am completely blind about other flows, where I don't know entry/middle/exit points in that flow.
I am wondering is there any tool or mechanism which tells what JVM is currently executing?
 
    