gpt4 book ai didi

java - 有没有类可以诊断java类中调用的方法?

转载 作者:行者123 更新时间:2023-12-03 04:28:15 25 4
gpt4 key购买 nike

  1. 我需要使用源代码诊断类中所有调用的方法(无论是否在类中声明)。意味着将类源代码作为方法的输入,并获取类调用的方法作为输出。事实上,我需要一个与 java 词法分析器操作相同的类/方法。有没有办法诊断所有调用的方法?

  2. 当然我尝试使用 Runtime.traceMethodCalls();解决问题,但没有输出。我读过我需要使用 java -g 运行 java debug,但不幸的是,当我尝试运行 java -g 时,它会出错。现在我该怎么办?有什么办法吗?

最佳答案

1) 在一般情况下,不会。 Reflection将始终允许代码进行方法调用,如果不实际运行代码,您将无法分析这些方法。

2) 跟踪方法调用也不会给您全面的了解,因为方法不能以任何方式保证(甚至不可能)实现所有每次您调用它时它都可以调用。

最好的选择是某种“尽力而为”的代码分析。您可能想尝试寻求编译器的帮助。例如,编译代码并分析生成的类文件中的所有发出的外部符号。它不能保证捕获每个调用(请参阅#1),但在大多数情况下它会让您接近。

关于java - 有没有类可以诊断java类中调用的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9347424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com