繁体   English   中英

Clang静态分析仪足够吗?

[英]Is Clang Static Analyzer enough?

我是iphone和objective-c开发的新手,想问一下Clang Static Analyzer是否足以摆脱内存泄漏? 我个人发现xcode“Leaks”工具相当难以使​​用,除了我看过一些文章,它会读到它总会显示内存泄漏,即使没有任何真正的泄漏。

如果我没有来自clang分析器的任何警告,是否意味着我没有任何内存泄漏? 或者我需要以其他方式检查它?

你怎么看? 非常感谢你。

不它不是。 CSA是一个静态分析工具,意味着它只能捕获编译时可以推理的内容。 为此,它还不完美,远非如此。 它绝对不能替代仪器。 但是,CSA可以帮助提醒您规则中的内容以及其他潜在问题。

如果您使用内置的Build and Analyze,则可以通过下载真实的扫描构建并打开所有检查来获得更好的结果

http://www.loufranco.com/blog/files/scan-build-better-than-build-analyze.html

但是,它仍然不够。 您需要使用运行时分析来检查泄漏。 如果您遵循非常简单的alloc / retain / release规则,您可能可以使用它(或者如此接近,Leaks工具变得更容易处理)。

不,静态分析仪是方便的工具之一,但你不应该单独依赖它。

仪器,特别是泄漏和内存分配工具是查找泄漏的好方法。 内存分配工具可以帮助您找到泄漏不能泄漏,因为它可以显示整体内存使用情况,如果您注意到它上升但是在完成任务后永远不会崩溃,您可以开始寻找可能的泄漏......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM