Java如何跟踪被调用的函数(Java, how to trace functions called)

编程入门 行业动态 更新时间:2024-10-25 18:34:12
Java如何跟踪被调用的函数(Java, how to trace functions called)

我想跟踪Java中调用的函数的开始[和结尾],如下面的代码所示:

public void foo() { System.out.println("begin of foo()"); ... System.out.println("e-n-d of foo()"); }

但是转储代码System.out.println维护是乏味和容易出错的,因为在一个类中可能会有几十个函数。

任何好主意都可以缓解这项工作? 我不想在整个文件中使用转储语句。

执行开始和结束两个或一个痕迹是perferd。 但是,如果不可能,那个函数被调用的记录也是有帮助的。 我的意思是不关心确切的beginnig和结束,只是告诉函数已被调用。

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.

最满意答案

最简单的方法就是你选择的方法。

一个简单的替代System.out调用将使用日志框架。 然后,您可以根据选定的“日志记录级别”打开和关闭信息

更复杂的解决方案将使用面向方面的编程技术(例如由AspectJ提供),但是这会让您陷入陡峭的学习曲线。

也许一种基于工具的方法可以满足您的需求:所谓的“分析器”可以“检测”您的代码并准确报告运行期间调用哪种方法。

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.

更多推荐

本文发布于:2023-08-07 20:52:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1465942.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   Java   trace   called   functions

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!