参考资料:https://blog.csdn.net/weixin_45396052/article/details/119136109
简介
address sanitizier(地址消毒剂),简称asan, 是一款内存检测工具,可用于检测一下错误:
1、 堆内存、栈内存和全局变量的越界(-fsanitize=address)
2、 已释放内存(野指针)的使用(-fsanitize=address)
3、 内存泄漏(-fsanitize=leak)
4、 作用域外的使用(clang flag -fsanitize-address-use-after-scope)
5、 返回值使用(runtime flag ASAN_OPTIONS=detect_stack_use_after_return=1)
GCC版本要求:
GCC4.8及其以上,若要查内存泄漏(LeakSanitizer),需GCC>=4.9
ARM版本GCC>=4.9
编译选项:
-fsanitize=address 内存错误检测
-fno-omit-frame-pointer 让gcc产生stack frame
-fsanitize=leak 内存泄漏检测,gcc>=4.9
-fsanitize=bounds 数组索引越界
设置log文件路径:
export ASAN_OPTIONS=”/home/1.log”
标签:GCC,fsanitize,4.9,内存,address,asan From: https://www.cnblogs.com/ho966/p/17528345.html