主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

为来源生成结果和 (-generate-results-for)

指定要进行分析的文件。

描述

此选项仅影响 Bug Finder 分析。

指定要进行分析的文件。

默认情况下,结果会显示在与源文件位于同一文件夹中的源文件和头文件中。您可以使用此选项查看其他头文件中的结果。如果您使用选项不生成结果 (-do-not-generate-results-for) 来抑制整个文件夹,则可以使用此选项来取消抑制这些文件夹中的某些子文件夹或文件。

设置选项

使用以下方法之一设置选项:

  • Polyspace® 用户界面(仅限桌面端产品):在工程配置中,选择输入和插桩节点,然后为该选项选择一个值。

  • Polyspace 平台用户界面(仅限桌面端产品):在工程配置中,在静态分析选项卡上,选择缺陷和编码标准节点,然后为该选项选择一个值。

  • 命令行和选项文件:请使用 -generate-results-for 选项。请参阅命令行信息

为何使用此选项

使用此选项可查看与您最相关的头文件中的结果。

例如,默认情况下,结果生成在与源文件位于同一文件夹中的头文件中。通常,其他头文件属于第三方库。虽然这些头文件对于精确分析是必需的,但您并不需要审查这些头文件中的检查结果。因此,默认情况下,不会为这些标题生成结果。如果您对第三方库中的某些头文件感兴趣,请更改此选项的默认值。

请注意,在 Polyspace as You Code 中,您无法通过源文件在 #include-d 及以下的标题中看到任何结果。默认行为是将源文件(或子文件夹)所在文件夹中的头文件视为分析对象,但抑制在头文件中找到的结果。您只能使用此选项来扩展分析期间考虑的头文件的范围。另请参阅Analysis Scope of Polyspace as You Code (Polyspace Access)

设置

默认source-headers

source-headers

结果显示在与源文件位于同一文件夹中的源文件和头文件中,或在源文件文件夹的子文件夹中。

源文件是您添加到 Polyspace 工程的文件夹中的文件(或在命令行中使用参量 -sources)。

all-headers

结果显示在源文件和所有头文件中。头文件可以与源文件位于同一文件夹中,也可以位于源文件文件夹的子文件夹中,或位于包含头文件的文件夹中。

源文件是您添加到 Polyspace 工程的文件夹中的文件(或在命令行中使用参量 -sources)。

包含文件夹是指您添加到 Polyspace 工程的包含文件夹中的文件夹(或在命令行中使用参量 -I)。

custom

结果将显示在源文件以及您指定的文件中。如果您输入文件夹名称,搜索结果将显示在该文件夹(及其子文件夹)中的头文件中。

点击 添加一个字段。输入文件或文件夹名称。

提示

  1. 将此选项与选项不生成结果 (-do-not-generate-results-for) 的适当值结合使用。

    如果您选择自定义,且两个选项的值冲突,则更具体的值决定结果的显示。例如,在下面的示例中,选项为源代码和以下项生成结果的值更具体。

    为源代码和以下项生成结果不为以下项生成结果最终结果

    自定义

    C:\Includes\Custom_Library\

    自定义

    C:\Includes

    结果显示在 C:\Includes\Custom_Library\ 及其子文件夹中的头文件中,但未生成其他头文件在 C:\Includes 中的结果。

    自定义

    C:\Includes\my_header.h

    自定义

    C:\Includes\

    仅在C:\Includes\ 目录下的头文件 my_header.h 中显示结果,但不会为 C:\Includes\ 及其子文件夹中的其他头文件中生成结果。

    同时使用这两个选项,您可以抑制某个文件夹中所有文件的结果,但取消抑制这些文件夹中的选定文件。

  2. 您还可以使用选项 -classification 显示或隐藏一组文件的结果。此选项允许您定义文件集并为这些文件集附加行为。如果对文件集中的所有文件指定以下行为,则与在文件上使用选项 -generate-results-for 效果相同:

    <show-results value="true"/>
    选项 -classification 支持指定通配符字符,例如 ?*,以指定文件和文件夹模式。有关详细信息,请参阅:

命令行信息

参数:-generate-results-for
值:source-headers | all-headers | custom=file1[,file2[,...]] | custom=folder1[,folder2[,...]]
示例 (Bug Finder):polyspace-bug-finder -lang c -sources file_name -misra2 required-rules -generate-results-for custom="C:\usr\include"
示例 (Code Prover):polyspace-code-prover -lang c -sources file_name -misra2 required-rules -generate-results-for custom="C:\usr\include"
示例 (Bug Finder Server):polyspace-bug-finder-server -lang c -sources file_name -misra2 required-rules -generate-results-for custom="C:\usr\include"
示例 (Code Prover Server):polyspace-code-prover-server -lang c -sources file_name -misra2 required-rules -generate-results-for custom="C:\usr\include"

版本历史记录

在 R2016a 中推出