代码之家  ›  专栏  ›  技术社区  ›  Lasse V. Karlsen

使用属性抑制Coverity中的消息?

  •  1
  • Lasse V. Karlsen  · 技术社区  · 6 年前

    我们用Coverity分析C代码的缺陷。

    我们有一些单元测试,可以显式地验证空参数是否被正确处理。

    这些缺陷按覆盖率列为缺陷。如果这是Microsofts自己的代码分析,我们可以标记我们的方法,该方法使用 [SuppressMessage(...)] ,是否有类似的东西可供掩盖?

    [Test]
    public void SomeRandomTest()
    {
        var obj = new SomeRandomObject();
        Assert.Throws<ArgumentNullException>(() => obj.Method(null));
    }
    
    ...
    
    public class SomeRandomObject
    {
        public void Method(object value)
        {
            if (value == null) throw new ArgumentNullException(nameof(value));
            ...
        }
    }
    

    显式错误显示为

    显式空解引用(前向空)
    var_deref_model:将null传递给方法,该方法在检查null后引发异常。

    1 回复  |  直到 6 年前
        1
  •  2
  •   DavidG    6 年前

    this site ,您可以在报告的错误行上方添加注释来抑制这些消息,但在您的情况下,您可以使用 var_deref_model 标签。例如:

    // coverity[var_deref_model]