【问题标题】:How can i see every method called in a Java Application? [closed]如何查看 Java 应用程序中调用的每个方法? [关闭]
【发布时间】:2013-12-10 17:16:16
【问题描述】:

有没有办法获取 JVM 在运行时调用的每个方法的文本输出?

【问题讨论】:

  • 可能有更好的方法来获得您想要的东西。你想调试什么东西吗?
  • 用大量反射(hadoop)跟踪运行时代码的调用栈。
  • 你检查过这个问题吗:stackoverflow.com/questions/706292/…?
  • 您是否正在尝试调试特定问题?
  • 具体来说,我想看看分布式系统中的每个方法被调用了多少次。我想看看我的类中哪些操作最常用。

标签: java jvm monitoring callstack


【解决方案1】:

如果您使用的是Eclipse,您可以右键单击该方法并选择“打开调用层次结构”

我不太确定你是否在寻找ASM,它用于分析字节码

ASM 是一种通用的 Java 字节码操作和分析工具 框架。它可用于修改现有类或动态 直接以二进制形式生成类。提供通用 转换和分析算法允许轻松组装 自定义复杂的转换和代码分析工具。

ASM 提供与其他字节码框架类似的功能,但它 专注于简单的使用和性能。因为它是 设计和实现尽可能小和尽可能快,它 使其非常适合在动态系统中使用*。

【讨论】:

  • eclipse 方式仅适用于静态定义的层次结构。可能可以使用 ASM。
【解决方案2】:

我的建议是请使用调试器查看整个过程正在完成。

【讨论】:

    【解决方案3】:

    您应该使用 Java profiler 工具。有两个著名的分析器 - YourKit Java ProfilerJProfiler

    我更喜欢第一个,但你可以同时尝试并做出选择。

    【讨论】:

      【解决方案4】:

      您可以编写一个 CGLIB 代理来跟踪您的方法。

      【讨论】:

        猜你喜欢
        • 2022-08-21
        • 2011-06-05
        • 1970-01-01
        • 2021-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-26
        相关资源
        最近更新 更多