覆盖警告的含义是什么:RW.ROUTINE_NOT_EMITTED?

时间:2016-03-14 10:09:04

标签: coverity

我面临以下掩护警告:

awk -v FS=, -v OFS=, '{print $1,$4,$3,$2,$5,$6}' < 1.txt > 2.txt

不确定这意味着什么??

2 个答案:

答案 0 :(得分:4)

警告RW.ROUTINE_NOT_EMITTED基本上是一个解析器警告,当由于先前的错误而未分析某段代码时会生成该警告。

但我认为真正的故障是你应该修复的实际错误是在序列的后期生成的。

所以我建议在Coverity下面修复其他内容,这应该得到解决。

在我的情况下,我忘了包含系统结构的头文件。因此,由于此错误,解析器无法解析生成:RW.ROUTINE_NOT_EMITTED警告的内容。

答案 1 :(得分:1)

RW.ROUTINE_NOT_EMITTED意味着Coverity解析器无法理解它运行的某些代码,但不是丢弃从错误中恢复的整个文件,而是丢弃包含错误的例程(因为它不可能知道语义是否仍然有效。)

这通常发生在您的编译器接受的方言与Coverity编译器接受的方言不同时,无论是由于您的语言在新语言标准上的进一步优势,您的编译器是否实现了自己的语言标准扩展,或者只是Coverity编译器本身的一个错误。

这里最好的办法是向Coverity支持发送一个复制器,以便R&amp; D可以在将来的版本中解决问题。否则,这些都是相当安全的 - 你不会因为被丢弃的函数而得到分析缺陷,而且程序间分析也可能会遗漏一些缺陷,但这种可能性相当低。