1. 静态分析的主要目的:
代码中的bug往往是由于开发者忽略一些代码缺陷而造成的,这些代码缺陷可能是极其微小的错误,以至于在程序的编译期并未给出很好的错误,从而导致这些代码缺陷在程序的运行期以某种非正常形式呈现出来。那么对于开发者来说,这些微小的代码缺陷,往往是很难跟踪调试的,因此也为修复代码带来了很大困难。Xcode静态代码分析的作用即发现项目源代码中的某些代码缺陷,并分类进行提示,以方便开发者及时关注并加以修改,从而把代码缺陷(潜在的bug)及时清除。
2. Xocde的静态代码分析工具会接卸项目的源代码,并以以下集中错误类型加以标识:
(1) 逻辑缺陷,例如访问未初始化的变量或空指针的解引用
(2) 内存管理缺陷,如内存泄露
(3) 无用存储缺陷(永不会被访问的变量)
(4) 因未遵从项目用到的框架(frameworks)或类库(libraries)所规范而导致的API使用缺陷
第一次在项目中执行静态分析时,可能会发现许多错误。但经常性的执行静态分析并修复发现的代码缺陷,之后的遇到的错误会越来越少。这对于编写强壮的代码是很有帮助的。
但要注意的是,静态分析未报告错误,并不意味者程序没有错误。静态分析工具并不是万能的,不会检测到源代码中的所有错误。