Polyspace 桌面端用户界面中的调用层次结构
本主题侧重于 Polyspace® 桌面端用户界面。若要了解 Polyspace Access™ Web 界面中的等效窗格,请参阅 Polyspace Access Web 界面中的调用层次结构 (Polyspace Access)。
调用层次结构窗格显示源代码中函数的调用树。
对于每个函数 foo,调用层次结构窗格会列出调用 foo 的函数和任务(调用方)以及被 foo 调用的函数和任务(被调用方)。调用方以
(函数)或
(任务)表示。被调用方以
(函数)或
(任务)表示。调用层次结构窗格会列出直接函数调用和通过函数指针进行的间接调用。间接调用以
图标显示。不可达调用以灰色函数名称显示。
要打开此窗格,请在 Polyspace 桌面端用户界面中选择结果详细信息窗格中的
按钮。
要更新此窗格:
您可以在结果列表或源窗格中点击运行时检查。您会看到包含该检查的函数及其调用方和被调用方。
您可以在源代码中点击某个函数名称。您会看到该函数的调用方和被调用方。如果该函数名称还显示运行时检查颜色,请不要点击该函数名称,而应该右键点击该名称并选择转至定义。
在此示例中,调用层次结构窗格显示函数 generic_validation 及其调用方和被调用方。

调用层次结构窗格中的行号是指源代码中的不同行:
对于函数名称,行号指向函数定义的开头。
generic_validation的定义从第 69 行开始。对于被调用方名称,行号指向该被调用方被调用时所在的行。被调用方
functional_ranges由generic_validation在第 86 行调用。对于调用方名称,行号指向该调用方调用函数所在的行。调用方
main在第 50 行调用generic_validation。
提示
要导航到源代码中的调用位置,请选择调用方或被调用方名称
在调用层次结构窗格中,您可以执行以下操作。
显示或隐藏调用方和被调用方
自定义视图以仅显示调用方或仅显示被调用方。点击以下按钮来显示或隐藏调用方和被调用方:

导航调用层次结构
您可以在源代码中导航调用层次结构。对于函数,双击调用方或被调用方名称可导航到源代码中该调用方或被调用方的定义。
确定函数是否已插桩
在已插桩列中,您可以确定函数是否已插桩。该列中的条目显示函数插桩的原因。
自动:Polyspace 找不到函数定义。例如,您没有提供包含函数定义的文件。
用户指定:您使用
要插桩的函数 (-functions-to-stub)选项覆盖了函数定义。查找表:您通过使用从特定类型的查找表返回值的函数来验证生成的代码。您使用了
为 Embedded Coder 查找表生成桩件 (-stub-embedded-coder-lookup-table-functions)选项。标准库:该函数是标准库函数。您没有在 Polyspace 工程中明确提供函数定义。
映射到标准库:您使用了
-code-behavior-specifications选项将函数映射到标准库函数。编译错误:函数体中存在编译错误,因此无法分析函数。
有关详细信息,请参阅 Code Prover Assumptions About Stubbed Functions。
查看程序的整个调用层次结构
要查看程序的整个调用层次结构,请在源窗格中点击 main 函数。右键点击调用层次结构中的节点,然后选择展开所有节点。

您可以根据需要展开节点以关注调用层次结构的特定部分,而不用一次查看整个调用层次结构。