主要内容

在 Polyspace as You Code 中对失败分析或意外结果进行故障排除

问题

在 IDE 中安装并配置 Polyspace as You Code 后,您应该会在启动分析后的几秒钟内看到作为源代码标记的分析结果(对于 C++ 文件,时间会略长)。如果您未看到结果,则可能意味着分析未发现任何问题,或者分析无法完成,甚至无法启动。

如果您在每次保存时运行 Polyspace as You Code,则某些运行可能会失败,因为文件尚未编译。如果您在编译成功后仍未看到结果,则可能需要进一步调查并更改分析选项或扩展设置。(请注意,您可以启用文件无法编译 (Polyspace Bug Finder)检查项,以便即使文件未编译,也始终显示至少一个结果。)

可能的解决方案

如果您未看到结果,请先确认分析已完成。如果分析已完成,但未发现任何问题,则在显示完整结果列表的 IDE 窗格中,您会看到一条指示已完成的状态消息。例如,在 Visual Studio®Polyspace 结果列表窗格中,您会看到以下消息:

Message showing zero findings in Visual Studio

如果分析未能完成,您还会看到一条指示失败的状态消息。如需进一步诊断,请查看 IDE 中的分析日志。例如,在 Visual Studio 中,打开输出窗格,从显示输出来源下拉列表中选择 Polyspace,然后查看消息。您可能需要向上滚动一点才能查看失败的根本原因。

有关如何在特定 IDE 中跟踪分析进度的详细信息,请参阅:

检查编译分析是否已过时

分析失败的最常见原因是编译错误。如果某个文件在编译器中可以编译,但在 Polyspace 中编译失败,这意味着分析需要更多的信息来模拟编译器。在最常见的情景中,该错误表示您必须重新分析编译。

如果您在扩展设置中指定分析必须使用从编译命令、编译任务或 JSON 编译数据库中提取的选项,则您必须先分析编译命令,然后再运行 Polyspace As You Code。编译分析必须在执行工程或工作区的完整编译(而不是增量编译)的命令或任务中运行。

如果您将新文件添加到工程或工作区,但忘记重新运行编译分析,则在尝试分析该新文件时可能会看到编译错误。最常见的错误是找不到包含文件。要解决此问题,只需重新运行编译分析,然后运行 Polyspace as You Code 即可。有关详细信息,请参阅在 Polyspace as You Code 中分析编译 (Polyspace Bug Finder)

检查选项文件中的错误

如果您在扩展设置中指定了一个选项文件,则分析会将该文件中的选项附加到底层运行命令中。如果某个选项编写错误,例如,引用了不存在的文件或使用了不正确的参量,则分析可能会失败。

您可以在分析日志中查看与选项相关的所有错误和警告。要查看更详细的日志,请使用分析选项 -no-quiet。您可以在包含其他选项的同一选项文件中输入此选项。请参阅用于 Polyspace 分析的选项文件 (Polyspace Bug Finder)

检查分析引擎的路径是否不正确

Visual Studio Code 中,您可以更改指向 Polyspace® 安装文件夹的扩展设置。如果您在此设置中输入的路径不正确,则 Polyspace as You Code 扩展会无法启动。您会看到一条消息,指示内部服务器 Polyspace 连接器尝试了启动,但失败了。

请检查您在扩展设置中提供的安装文件夹是否确实包含 Polyspace 安装。该路径必须包含一个子文件夹 polyspace\bin,其中包含 polyspace-bug-finder-access 可执行文件。

另请参阅

主题