如何获取 Coverity 问题的事件标签?

How do I get the event tags for a Coverity issue?

如果我在 Coverity 用户界面中查看问题,我如何获取一个或多个事件标签?我需要知道一个标签,以便使用代码注释抑制发现,如问题“”中所述,但我没有看到它或者可能不知道去哪里看。

事件标签是构成问题报告的每行评论中的第一个 identifier-like 个词。

例如,在 Github 上,RcppCore/Rcpp issue 760 包含我以 half-size 分辨率复制并带有一些注释的屏幕截图:

在代码面板上放大:

这里有三个事件:

  1. alloc_fn:存储从分配函数operator new.
  2. 返回
  3. noescape: 资源 new Rcpp::Rostream<true>::Buffer 未释放或 pointed-to 在 basic_ostream 中。 ...
  4. leaked_storage:无法保存或释放由 new Rcpp::Rostream<true>::Buffer 分配的存储空间。

事件标签是“alloc_fn”、“noescape”和“leaked_storage”。

在这种情况下,它们都与同一行代码(第 49 行)相关联,但通常它们可能出现在不同的行并分布在多个文件中。

要导航到所有事件,请使用事件面板:

事件面板显示所有事件,组织成树状,其中子节点是被调用函数中的事件。整个列表通常按程序执行顺序排序,尽管某些事件可能按时间顺序断开,例如,如果发现涉及多个执行路径。

出现面板中的每个条目都有一个事件编号(同样,名义上按时间顺序排列)、事件标签以及文件名和行号。单击一个条目可导航到代码面板中的该事件。

以下是一些相关的 Synopsys 支持文章: