如何在不运行此系统(用JAVA编写)的情况下获取方法的调用方

如何在不运行此系统(用JAVA编写)的情况下获取方法的调用方,java,eclipse,Java,Eclipse,在java中,如何在不运行此系统的情况下获取方法的调用方。 我的目的是找到一些方法(大约150个方法)的调用方,并希望 每个方法的所有调用方的名称。有可能吗 是否有可能做到这一点(即在Eclipse中不使用调用层次结构或引用,因为我需要找到许多方法的调用方并将其记录到excel文件中) 非常感谢。在Eclipse中,您可以通过右键单击该方法并选择“打开调用层次结构”来完成此操作。在Eclipse中,您也可以通过右键单击该方法并在Netbeans中选择“引用”->“XXX”来完成此操作,右键单击该

在java中,如何在不运行此系统的情况下获取方法的调用方。 我的目的是找到一些方法(大约150个方法)的调用方,并希望 每个方法的所有调用方的名称。有可能吗

是否有可能做到这一点(即在Eclipse中不使用调用层次结构或引用,因为我需要找到许多方法的调用方并将其记录到excel文件中)


非常感谢。

在Eclipse中,您可以通过右键单击该方法并选择“打开调用层次结构”来完成此操作。

在Eclipse中,您也可以通过右键单击该方法并在Netbeans中选择“引用”->“XXX”

来完成此操作,右键单击该方法并转到“查找用法”。或者,单击方法名称,然后单击alt+F7


编辑:Oops,刚刚看到这是为eclipse而不是netbeans标记的。不过,如果有用的话,我还是把它留在这里。

如前所述,这称为调用层次结构。您可以从右键单击菜单访问它,或者只使用键盘快捷键:将光标放在方法名称上,然后按Ctrl+Alt+H。在Eclipse中,您可以通过右键单击该方法并选择“打开调用层次结构”来完成此操作

请参阅该面板右侧顶部给出的5个选项(刷新)(取消当前搜索)(显示呼叫者层次结构)(显示被呼叫者层次结构)(显示历史记录列表)


在eclipse中,您可以右键单击方法名称并单击“打开调用层次结构”。另一个面板打开并选择“打开调用方层次结构”(Open caller hierarchy)

晚了一点,但根据您更新的问题和评论,您希望一次性检索多个方法的所有调用方的名称(并且不必做同样的事情,即打开调用层次结构150次)最终得到了可以在电子表格中使用的格式

下面是如何使用Eclipse为任何面临相同问题的人做到这一点(正如我最近所做的):

  • 将您感兴趣的调用者所在的所有方法放入同一个视图。如果它们都在同一个类中,大纲视图就可以了,否则进行搜索并将所有方法显示在搜索结果视图中-您可以在其中指定各种感兴趣的条件,在您的情况下,您可能希望在所选资源中搜索方法(首先在包资源管理器中选择您的类)。

  • 选择您在该视图中感兴趣的调用者的所有方法。按住Ctrl键并单击以进行多选,或按Ctrl+A键选择全部,然后按Ctrl+Shift+click取消选择不需要的方法

  • 打开所有这些方法的调用层次结构。将这些选定的方法拖到调用层次结构视图上,或使用Ctrl+Alt+H,或使用关联菜单。这将显示所有这些方法的所有调用方。(如果要深入,请根据需要展开以检索呼叫者的呼叫者等)

  • 在Call Hierarchy(调用层次结构)视图中选择all(全部)。只要在视图有焦点时按住Ctrl+A键即可

  • 将方法的限定名称复制到剪贴板。默认情况下没有用于此操作的键盘快捷键,但您可以右键单击所选文件并选择“复制限定名称”。您将得到一堆
    。()
    格式的行

  • 粘贴到您喜爱的文本编辑器或电子表格中,并根据需要进行操作。


  • 在Eclipse霓虹灯下测试。

    非常抱歉。我没有找到我喜欢的答案,因为我没有给出足够的问题细节。因此,我更新了问题,同时请记住,您不能总是知道是否调用了该方法,因为在您的代码之外可能有调用方,例如,规则引擎可以调用您的方法,而您的代码永远不会调用该方法,您只需通过设置断点并在正确的条件下运行调试就可以发现该方法已被调用。。。