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功能来编译;

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

相关推荐
_Itachi__10 分钟前
LeetCode 热题 100 114. 二叉树展开为链表
linux·leetcode·链表
和计算机搏斗的每一天27 分钟前
ip命令详解
服务器·网络·tcp/ip
あ-29 分钟前
CentOS7 OpenSSL升级1.1.1w
linux
tianyuanwo31 分钟前
深入解读tcpdump:原理、数据结构与操作手册
linux·运维·服务器·tcpdump
xjdksxkmd1 小时前
5.11作业
运维·服务器·网络
电鱼智能的电小鱼2 小时前
产线视觉检测设备技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的国产化替代赛扬N100/N150全场景技术解析
linux·人工智能·嵌入式硬件·计算机视觉·视觉检测·实时音视频
子非衣2 小时前
Ubuntu系统挂载磁盘并配置开机自动挂载
linux·运维·ubuntu
Lizhihao_3 小时前
TCP实现安全传输的核心机制 + TCP的报文讲解(全程图文讲解)
服务器·网络·网络协议·tcp/ip
风暴智能3 小时前
问题处理——在ROS2(humble)+Gazebo+rqt下,无法显示仿真无人机的相机图像
linux·无人机
唐志远19973 小时前
VMware虚拟机 安装 CentOS 7
linux·运维·centos