Linux基础 - 内存问题定位工具 ASAN

背景

定位内存泄漏、内存越界读写等问题;

步骤

编译过程

shell 复制代码
ASAN =  -fsanitize=address -fsanitize=leak
CFLAG = $(ASAN)
LDFLAG = -lasan

运行时

shell 复制代码
# 先配置环境变量
## 开启检测内存泄漏
export ASAN_OPTIONS=detect_leaks=1
## 1:检测到错误是就关闭程序 0:不关闭
export ASAN_OPTIONS=${ASAN_OPTIONS}:halt_on_error=1
## 设置日志路径
export ASAN_OPTIONS=${ASAN_OPTIONS}:log_path='/tmp/a.log'

# 启动程序需要先配置库
LD_PRELOAD=/path/to/libasan.so.x ./yourapp

注意

如果需要检测库是否有问题,被引用的库也需要开启asan功能来编译;

即:需要检测哪个模块,就需要按编译过程跑一遍流程,这样函数就会被处理过;

相关推荐
真正的醒悟7 分钟前
2025【1460天】网络工程师经验之道
运维·服务器
Nimsolax13 分钟前
Linux信号
linux
Tim风声(网络工程师)3 小时前
不同射频对应不同mac地址(查找无线用户连接AP信息)
服务器·网络·tcp/ip·智能路由器·无线ap
ajassi20004 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
JosieBook5 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工5 小时前
Linux MInt启动速度的优化
linux
Broken Arrows6 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
Light606 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
鳄鱼杆7 小时前
服务器 | Docker应用开发与部署的实践以及阿里云镜像加速配置
服务器·阿里云·docker
羚羊角uou7 小时前
【Linux】命名管道
linux·运维·服务器