I want to trace the beginning [& ending] of functions called in Java, like the following code:
public void foo() {
System.out.println("begin of foo()");
...
System.out.println("e-n-d of foo()");
}
But maintaining of the dump code System.out.println is something tedious and error-prone, for there may be tens of thounds of function in an class.
Any good idea can ease this work? I don't want dump statements all over the file.
Implementation of both or one of the beginning & ending traces is perferd.
But, if impossible, recordings of that the function has been called is also helpful. I mean not care the exact beginnig and ending, just tell that the function has been called.
解决方案
The easiest approach is the one you've chose.
An easy replacement for the System.out calls would be using a logging framework. Then you could switch the information on and off according to a selected "logging level"
More sophisticated solutions would use aspect oriented programming techniques (provide by AspectJ, for instance), but this puts you on a steep learning curve.
Maybe a tool-based a approach fits your needs: so called "profilers" can "instrument" your code and report exactly which method was called during a run.