java如何跟踪调用过程,Java,如何跟踪调用的函数

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值