2013-02-04 24 views
2

我正在为我的C++项目使用PC-Lint。 是否有办法在默认情况下关闭所有错误和警告消息,以便我可以明确地重新引入所需的消息?排除PC-Lint中的所有消息

我已阅读PC - 皮棉手动题为“错误抑制选项”,我能找到的设置wLevel到-w0无消息(除非出现致命错误)

+0

这是很根本不使用不起毛的正确方法。使用它的关键是让你告诉你还没有想到的问题。如果您在诊断溺水那么就可以先使用较为保守的设置警告。它是有点儿自然的表盘变成11,能够产生大量的* *渗出的。从小开始,从列表顶部开始。 –

回答

2

是的,这是最好的一章可能的话,您可以简单地使用-e*-w0。然而,真正的手动状态(第16章生活用林特):

请不要直接抑制的东西 像所有的警告:-e *或-w0,因为这可以伪装硬错误,并进行后续的诊断非常困难。

所以,是的,如果您的代码基本上已清理完毕,并且您想要查看某组消息的最近更改,则可以使用它。但是如果你想开始清理你的代码,并由于默认警告级别-w3而被消息淹没,我建议开始使用-w1,并解决所有问题;在第一级给出的大多数警告/错误指示了查找所有头文件,正确设置了al隐式宏和/或以足够精确的方式模仿正常使用的编译器的问题。

像往常一样,我毫不犹豫地宣传我自己的工作,但如果你想,看看我的“How to wield PC Lint” PDF,在那里我有记载的详细说明处理PC林特的初始部署和应对许多警告/错误/信息/笔记你可能会被埋没。

2

当我开始介绍PC-lint以一个新的项目,我做了以下内容:

  1. 至于建议由Johan Bezem,跑了整个事情-w1水平检查。这实际上并未发现任何新问题,但会检查您的程序是否在语法上有效并发现任何配置问题。假设你的项目已经编译完毕,没什么大不了的

  2. -w2级别再次运行测试。这发现了53,000个问题,这是一次要解决的问题。

  3. 选择一个典型的坏文件,然后压制,似乎任何错误 无关或非紧急(如:error 525: (Warning -- Negative indentation from line xxx) 添加-e525在命令行或配置文件,直到你找到一个似乎严重。 在我的情况下,该被 error 442: (Warning -- for clause irregularity: testing direction inconsistent with increment direction),即“for”循环 看起来像它应该被计数实际上计数 下来。

  4. 重置测试水平回-w1但在这种情况下,通过数字,-w1 +e442关键问题补充重新运行整个项目然后修复所有的问题这个问题的实例。

  5. 返回到第2阶段,然后重试。

解决实际问题和抑制可能的虚假警报的这种组合很快就让您的数字得到控制。

因此,随着时间的推移,一切都会变得更好,我们还实施了一个脚本,可以对创建或修改的任何文件执行全面的检查(全部-w2-w3)。

我还发现了工具LintProject非常有帮助的,因为它可以在一个去做一个完整的Visual Studio解决方案,与错误的数量和表现最差的表!

相关问题