正如 WWDC 2015 上宣布的那样,Clang Address Sanitizer 将被引入 Xcode 和 OS X。
课程 413:高级调试和地址清理器
如何为 Xcode 项目启用 Clang Address Sanitizer?
Address Sanitizer 已作为 Xcode 7 中的新功能添加。
Use the Runtime Sanitization
> Enable Address Sanitizer
在您的方案中标记以启用该选项。
然后 git 会将这个更改显示给你.xcscheme
file:
enableAddressSanitizer = "YES"
来自Xcode 7 中的新功能文档:
地址消毒剂。 Xcode 7 可以使用旨在使用地址清理程序捕获和调试内存损坏的工具来构建您的应用程序。
Objective-C 和 C 代码容易受到内存损坏问题的影响,例如堆栈和堆缓冲区溢出以及释放后使用问题。当发生这些内存违规时,您的应用程序可能会意外崩溃或显示奇怪的行为。内存损坏问题很难追踪,因为崩溃和奇怪的行为通常很难重现,而且原因可能与问题的根源相去甚远。
您可以在构建方案中启用地址清理程序。启用后,添加的检测将内置到应用程序中,以立即捕获内存违规,使您能够在问题发生的地方检查问题。还提供其他诊断信息,例如错误地址与堆上有效对象之间的关系以及分配/释放信息,这可以帮助您快速查明并修复问题。
地址清理器非常高效,速度足够快,可以定期使用,也可以与交互式应用程序一起使用。它在 OS X、模拟器和 iOS 设备上受支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)