【iOS开发】Xcode 调试野指针利器 Address sanitizer

一、Address Sanitizer原理简述

在申请的内存地址两侧插入对应的redzone ==> 检测Overflow
延迟已被free的堆空间的重用 ==> 检测Use-after-free
访问某内存时,会检查其对应的shadow memory的state。
管理shadow memory,同时保证shadow空间不被使用
PS:shadow memory — 影子内存,每8个字节的内存会映射8位(1字节)的影子内存,用于表示对应内存的状态。
当检测到某块内存对应的shadow memory为0时,说明这块内存是OK,可使用的,反之,则捕获异常。

参考资料

Address Sanitizer

Xcode 7 调试野指针利器 Address sanitizer

iOS开发之调试技巧Xcode7中你一定要知道的炸裂调试神技、Address Sanitizer EXC_BAD_ACCESS

Address Sanitizer 初探

[ WWDC2018 ] - WWDC Lab:哪些是我们最关心的问题?

猜你喜欢

转载自blog.csdn.net/Hanrovey/article/details/85158883
今日推荐