2012-04-23 30 views
1

Xcode 4.3提供的静态分析器是否应该捕获或标记未分配的ivars?XCode静态分析和AppCode项目检测

我对iOS开发相对比较陌生,我正在寻找一些信息:我的团队使用为XCode中的调试版本启用的静态分析来构建我们的项目。为了评估AppCode的检测功能,我对整个项目进行了检查。

虽然我预计AppCode的检测很好,但我没想到它会找到50个以上的ivars实例,因为我们在Xcode中启用了静态分析,所以没有正确地取消分配。我们验证了AppCode已经正确识别了这个问题,在一些情况下,这解决了已知的内存泄漏问题。

铛静态分析仪是否应该抓住这些?

我希望它是因为一些项目设置没有被正确设置。正如我所期望的那样,铛静态分析器至少会标记缺失解除分配。

回答

1

从clang邮件列表中得到答案,clang可以解决这个问题。问题在于XCode附带的clang版本已禁用此功能!

你好,Seamus。 Clang确实支持此检查,但默认情况下它禁用 (可能因为 http://llvm.org/bugs/show_bug.cgi?id=8838)。

我同意仪器会识别泄漏或泄漏,事实上它已经。但是,根据我的经验,缩小泄漏源或更可能泄漏的过程并非易事。标记为AppCode的问题最终解决了团队无法缩小的两个已知泄漏。此外,它揭示了许多其他已知问题和其他未知问题的其他内容。

一旦叮当更新,它也应该指出这些问题。

1

如果AppCode没有做太多的市场,比Xcode更好,所以我相信你会发现至少有几个地方可以为你做些事情,吨。也许这是其中的一种情况。另一方面,您所描述的泄漏类型应该很容易使用仪器来发现,所以它不像Xcode中包含的任何工具可以帮助您找到这样的问题。

+1

哈哈哈......我来自列表中的时间太长,无法在评论中列举:)。我想说的是,AppCode的显着特点是:1.它的工作原理(即它的bug较少,较少惩罚,并且可以报告它们并跟踪进度)2.重构岩石。 – YvesLeBorg 2012-06-17 13:59:14

相关问题