如何找到方法的调用者?

时间:2014-09-17 15:02:50

标签: java eclipse

通常在Eclipse中查找方法的调用者我在方法上使用ctrl-alt-h。如果没有出现,则是来自其他库的回调。我很确定这个方法不是回调,我很确定它是从某个地方调用的。如何查看是否有任何显示ctrl-alt-h?

2 个答案:

答案 0 :(得分:4)

您可以将光标放在方法名称上,然后按Ctrl-Shift-G(默认组合键)。

这将在项目中打开搜索以查找对您的方法的引用。

修改

在使用声明性标记(Spring,Android等)的框架上,您可能实际上需要使用更手动的方法:文件搜索。

  • 复制或突出​​显示您的方法名称
  • Ctrl-H(默认绑定)并选择File search(您可以为此指定自定义键绑定但不提供自定义)
  • 如果未自动填写,请使用您的方法名称填充containing text
  • (可选)选择"区分大小写"或您的文件模式(如果有)
  • 然后选择你的范围(项目应该是一个好的起点)

答案 1 :(得分:1)

其他策略包括:

  • 如果方法正在实现接口,请向Eclipse询问接口方法的调用方。有时Eclipse会通过界面方法识别更多的呼叫者,特别是当呼叫者不知道他们正在使用特定的实现时。
  • 同样,如果该方法覆盖了基类方法,请向Eclipse询问该方法的调用者。
  • 在方法中放置一个断点,然后查看调试器中的调用堆栈。
  • 如果本地代码可能通过JNI调用Java方法,请在本机代码中使用文本搜索获取Java方法名称。
  • 如果有,请询问方法的作者。