老板好,欢迎来到有货号
15092919199
回答 1 2024-06-27 02:06

asan检测内存泄漏原理

已解决 悬赏分:40 - 解决时间 2024-09-20 01:03
asan检测内存泄漏原理希望能解答下
举报 0 收藏 0
最佳答案
支持 0 反对 0 举报 2024-06-27 02:06

asan检测内存泄漏的原理:

1、ASAN会接管内存申请接口,即用户的内存全都由ASAN来管理;

2、当进程退出时触发ASAN内存泄漏检测,开发可以使用复位单板、重启设备等一切可以让进程正常退出的方法来触发ASAN进行内存泄漏检测;

3、开始内存泄漏检查后,ASAN会遍历当前所有已经分配给用户但没有释放的堆内存,扫描这些内存是否被某个指针引用着,这些指针可能是全局变量、局部变量或者是堆内存里面的指针,如果没有则认为是泄漏了;如果内存被引用着,比如内存申请完后放在V8的Local数据区、插树、插链表等,是不会报泄漏的。

有货号