2.3. 在 Xcode 中运行分析器¶
从 Xcode 3.2 开始,用户可以直接在 Xcode 中运行静态分析器 直接在 Xcode 中。
它直接与 Xcode 构建系统集成,并在 Xcode 的编辑器中直接显示分析结果。
2.3.1. 我可以在 Xcode 中使用开源分析器版本吗?¶
是的。下面包含说明。
在 Xcode 中查看静态分析器结果
2.3.2. 关键功能:¶
集成工作流程:结果集成到 Xcode 中。无需使用单独的工具,只需一次按键或单击鼠标即可激活分析器。
透明度:与 Xcode 项目(包括 iPhone 项目)无缝配合。
缺点:不适用于非 Xcode 项目。对于那些项目,请考虑 命令行使用:scan-build 和 CodeChecker。
2.3.3. 入门¶
Xcode 可从 Apple 的 Mac App Store 免费下载,并提供了 使用分析器的说明。
2.3.4. 在 Xcode 中使用开源分析器版本¶
默认情况下,Xcode 使用与它捆绑在一起的 clang
版本来分析您的代码。可以更改 Xcode 的行为,以便使用备用版本的 clang
用于此目的,同时继续使用与 Xcode 捆绑在一起的 clang
来编译项目。
2.3.5. 为什么要尝试开源版本?¶
使用开源分析器版本(在本网站上提供)的优点是它们通常比与 Xcode 捆绑在一起的分析器更新,因此可能包含错误修复、新检查,或者只是更好的分析。
另一方面,新检查可能是实验性的,结果质量参差不齐。鼓励用户在遇到误报或其他问题时提交任何版本分析器的错误报告: 提交错误和功能请求。
2.3.6. set-xcode-analyzer¶
从分析器版本 checker-234 开始,分析器版本包含一个名为 set-xcode-analyzer
的命令行实用程序,允许用户更改 Xcode 用于分析的 clang
副本
$ set-xcode-analyzer -h
Usage: set-xcode-analyzer [options]
Options:
-h, --help show this help message and exit
--use-checker-build=PATH
Use the Clang located at the provided absolute path,
e.g. /Users/foo/checker-1
--use-xcode-clang Use the Clang bundled with Xcode
在操作上,set-xcode-analyzer 会编辑 Xcode 的配置文件,使其指向使用您为静态分析指定的 clang
版本。在这个模型中,它提供两种基本模式
–use-xcode-clang: 将 Xcode(恢复)切换为使用与它捆绑在一起的
clang
用于静态分析。–use-checker-build: 将 Xcode 切换为使用由指定分析器版本提供的
clang
。
2.3.7. 需要注意的事项¶
您应该在运行
set-xcode-analyzer
之前退出 Xcode。您需要在 ``sudo`` 下运行
set-xcode-analyzer
,以便拥有修改 Xcode 配置文件的写入权限。
2.3.8. 示例¶
示例 1:告诉 Xcode 使用 checker-235
$ pwd
/tmp
$ tar xjf checker-235.tar.bz2
$ sudo checker-235/set-xcode-analyzer --use-checker-build=/tmp/checker-235
请注意,您通常不会在 /tmp
中安装分析器版本,但此示例的重点是 set-xcode-analyzer
只需要一个解压缩的分析器版本的完整路径。
示例 2:告诉 Xcode 使用 clang
的特定版本
$ sudo set-xcode-analyzer --use-checker-build=~/mycrazyclangbuild/bin/clang
示例 3:将 Xcode 重置为默认行为
$ sudo set-xcode-analyzer --use-xcode-clang