prolj 发表于 2010-08-30 09:21

我不是这个模块的作者,只是使用者。

big_chen 发表于 2013-10-22 13:23

对于数组下标越界的问题, 用不带参数的clang就能检查出。
对于用越界拷贝的问题,用clang --analyze能检查出。

但是如果一个大工程里如果两个问题都存在,该如何高效检查呢?需要在Makefile里做两遍clang(一遍带analyze参数,一遍不带参数)吗?


fly3ds 发表于 2013-10-23 07:26

本帖最后由 fly3ds 于 2013-10-23 07:42 编辑

回复 12# big_chen

我认为你们走进了错误的深渊。

Clang可以试用,有人说Clang/llVM组织结构很好,容易扩充,还有人说他错误提示信息友好,这些都是很好的;但是唯独各种内存检查这一条,不能信赖;不但是这个,任何内存“泄露”“越界”检查工具都不可信赖。

我还认为,大工程里不可能通过任何内存检查工具来检查内存越界泄露等。微软的各种项目够大够资格拿来说了吧?他们用了内存泄露检查工具吗? 没听说过?Google呢? Sun呢?你们自己所在的单位引进哪种内存检查工具了吗?我看都是没有。

内存泄露越界检查工具唯一的用处是检查作者自己搞出来的那几个示例程序,除此之外,毫无用处。此外,这些内存检查工具自己有没有内存越界泄露谁来检查?所谓内存泄漏工具一大堆,每隔段时间就冒出来一个,每个都是来也匆匆去也匆匆,从没听说过哪个内存检查工具真的使用在了哪个项目中,真正提高了我们小组的工作效率,提高了程序的质量....

最后,问一个问题,Clang项目自己会用这些工具么?他们自己是用什么检查的?我看他们靠的是自己的眼睛,而不是任何内存检查工具。


   
页: 1 [2]
查看完整版本: clang static analyzer,fuck bug的利器!