你的代码还在‘裸奔’?ASan & HWASN 内存漏洞修复实践(一)简介

目录

  • ASAN简介
    • 基本概念
    • 工作原理
    • 优势
    • 应用场景
  • HWASan
  • HWASan **与ASan的对比**

本文首先简单介绍 asan和hwasan的基本概念和区别,后续文章将详细介绍如何在arm平台 或x86平台,利用asan/hwasan工具对大型协议软件进行内存问题分析。

ASAN简介

基本概念

ASAN(AddressSanitizer )是一个由 Google 开发的、用于 C 和 C++ 程序的快速内存错误检测工具,它能够在程序运行时检测出多种内存相关的错误,如缓冲区溢出、使用已释放的内存、内存泄漏等,帮助开发者快速定位和修复程序中的内存问题,提高程序的稳定性和可靠性。

工作原理

  • 内存分配与检测:AddressSanitizer 通过在程序运行时拦截内存分配和释放函数,如mallocfreenewdelete等,来对内存的使用进行监控。当程序分配一块内存时,AddressSanitizer 会在这块内存的周围插入一些额外的检测数据,用于记录内存的状态和边界信息。
  • 访问检查:在程序访问内存时,AddressSanitizer 会检查访问的地址是否在合法的范围内,是否与

你可能感兴趣的:(得力工具,asan,hwasan,内存漏洞,越界访问,段错误,稳定性,可靠性)