IntelliJ IDEA能否查询包含多级调用者的完整方法调用层级树?
问题描述
我需要查询方法的调用层级,示例代码如下:
void methodA() { } void methodB() { methodA(); } void methodC() { methodB(); } void methodD() { methodB(); }
我在IDEA中使用调用者层级搜索功能时,仅能查询到methodA的直接调用者methodB,而我需要得到如下完整的多级调用树结构:
- methodA 被 methodB 调用
- methodB 被 methodC 调用
- methodB 被 methodD 调用
请问IntelliJ IDEA是否支持生成这类完整的多层级方法调用树?
解答
IntelliJ IDEA 完全支持生成上述多层级方法调用树,操作方式如下:
- 选中需要查询的目标方法,比如示例中的
methodA - 按下调用层级功能快捷键:
- Windows/Linux 系统:
Ctrl + Alt + H - macOS 系统:
⌥ + ⌘ + H
- Windows/Linux 系统:
- 弹出的调用层级面板会默认以树状结构展示完整调用链路,你当前只能看到直接调用者
methodB,只需要点击methodB节点前的展开箭头,就能看到下层的methodC、methodD两个调用方,所有层级都可以按需向下展开到最顶层的调用入口。
附加功能说明
- 调用层级面板顶部设有切换按钮,可自由切换查看调用者链路(向上追溯谁调用了当前方法,匹配你当前的查询需求)和被调用者链路(向下查看当前方法调用了哪些其他方法)
- 右键点击层级面板的根节点,可选择复制或者导出完整调用树结构到本地文件。
内容的提问来源于stack exchange,提问作者Inaba Jun
相关产品推荐
相关产品推荐

