"Callers-Callees"(调用方-被调用方)视图显示代码中函数之间的调用关系,同时显示性能度量。"Callers-Callees"(调用方-被调用方)视图允许通过一次为一个调用构建调用堆栈片段详细检查代码分支的度量。
该视图显示三个独立的面板:"Callers"(调用方)面板位于顶部,"Stack Fragment"(堆栈片段)面板位于中部,"Callees"(被调用方)面板位于下部。首次打开 "Callers-Callees"(调用方-被调用方)视图时,"Stack Fragment"(堆栈片段)面板中的函数即为在其他分析器视图之一中选择的函数,例如,"Function"(函数)视图或 "Source"(源)视图。"Callers"(调用方)面板列出用于调用 "Stack Fragment"(堆栈片段)面板中函数的函数,"Callees"(被调用方)面板列出由 "Stack Fragment"(堆栈片段)面板中函数调用的函数。
通过将调用方或被调用方添加到调用堆栈,可以以一次一个调用的方式围绕中心函数构造调用堆栈片段。
要添加对堆栈片段的调用,可在 "Callers"(调用方)窗格或 "Callees"(被调用方)窗格中双击一个函数,也可以选择一个函数并单击 "Add"(添加)按钮。
要删除函数调用,可双击位于调用堆栈片段顶部或底部的函数,或者选择顶部或底部函数并单击 "Remove"(删除)。
要将函数设置为调用堆栈片段的头部(顶部)、中心或尾部(底部),请选择函数并单击 "Set Head"(设置头部)、"Set Center"(设置中心)或 "Set Tail"(设置尾部)。这种新的排序可使当前位于调用堆栈片段中的其他函数,相对于所选函数在堆栈片段中的新位置,移动到 "Callers"(调用方)或 "Callees"(被调用方)区域中的相应位置。
使用位于 "Stack Fragment"(堆栈片段)面板上方的 "Back"(后退)和 "Forward"(前进)按钮查看您对调用堆栈片段的更改历史记录。
当您在堆栈片段中添加和删除函数时,将为整个片段计算度量,并将结果显示在片段中的最后一个函数旁边。
可以在 "Callers-Callees"(调用方-被调用方)视图的任意面板中选择一个函数,然后右键单击打开上下文菜单并选择过滤器。将根据您在此视图以及所有分析器数据视图中所做的选择来过滤数据。有关使用上下文过滤器的详细信息,请参见联机帮助。
"Callers-Callees"(调用方-被调用方)视图显示归属度量:
对于 "Stack Fragment"(堆栈片段)面板中的调用堆栈片段,归属度量表示该调用堆栈片段的独占度量。
对于被调用方,归属度量表示被调用方度量中归属于调用堆栈片段调用的那一部分。被调用方的归属度量与调用堆栈片段之和应该等于调用堆栈片段的度量。
对于调用方,归属度量表示调用堆栈片段的度量中归属于调用方的调用的那一部分。所有调用方的归属度量之和同样应等于调用堆栈片段的度量。
有关度量的更多信息,请参见函数级度量:独占、非独占和归属。