主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

计算堆栈使用量 (-stack-usage)

计算并显示堆栈使用量的估计值

自 R2022a 起

描述

此选项仅适用于 Code Prover。

指定 Polyspace® 必须估计并显示源代码的堆栈使用量。这些估计值包括:

设置选项

用户界面(仅限桌面端产品):在您的工程配置中,此选项位于 Code Prover 验证节点的检查行为子节点上。

用户界面(仅限 Polyspace 平台、桌面端产品):在您的工程配置中,此选项位于运行时错误 > 检查行为节点的静态分析选项卡上。

命令行和选项文件:请使用 -stack-usage 选项。请参阅命令行信息

为何使用此选项

估计代码的堆栈使用量很有必要,因为:

  • 低估代码的堆栈使用量会导致堆栈溢出。

  • 高估代码的堆栈使用量会导致内存浪费。

请使用 -stack-usage 选项获取代码的堆栈使用量估计值,以避免堆栈溢出或内存浪费。此选项对于安全关键型应用程序尤其重要,因为可用堆栈大小必须适应最坏情形下的堆栈使用量。

设置

打开

Polyspace 计算堆栈使用量度量并将其显示在结果列表窗格中。

关闭(默认值)

Polyspace 不计算堆栈使用量度量。

提示

  • 如果您只想计算代码的堆栈使用量,请将验证一直运行到源代码合规性检查阶段。请参阅验证等级 (-to)

  • Code Prover 分析操作会在源代码合规性检查阶段后计算堆栈使用量度量。如果您在源代码合规性检查之前停止了 Code Prover 验证,则不会报告堆栈使用量度量。

  • 此选项计算与堆栈使用量相关的代码度量。要计算其他代码度量,请使用 Bug Finder。请参阅计算代码度量 (-code-metrics)

  • 将此选项与 -code-metrics 选项一起使用会导致错误。在以后的版本中,-code-metrics 选项将会从 Code Prover 中删除。要计算代码度量,请改用 Bug Finder。请参阅Migrate Code Prover Workflows for Checking Coding Standards and Code Metrics to Bug Finder

  • 如果未定义函数,则 Code Prover 在调用此函数时认为对堆栈大小的贡献为零。您可以使用选项 -code-behavior-specifications 显式指定此类已插桩函数的堆栈大小贡献。

命令行信息

参数:-stack-usage
默认值:关闭
示例 (Code Prover):polyspace-code-prover -sources file_name -stack-usage
示例 (Code Prover Server):polyspace-code-prover-server -sources file_name -stack-usage

版本历史记录

在 R2022a 中推出