【C++】内存泄漏排查

前言

内存泄漏影响程序的稳定性运行,并且在程序运行过程中,并不会报错误,需要借助专用的内存泄露工具进行检测。
工具:CLion and AddressSanitizer

#include <iostream>
using namespace std;

int main() {
   
    char *c = new char[2];
    *c = '1';
    delete c;
    return 0;
}
CMakeLists.txt 添加参数 -fsanitize=addres


cmake_minimum_required(VERSION 3.17)
project(code)
set(CMAKE_CXX_FLAGS_DEBUG  "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address")
set(CMAKE_CXX_STANDARD 14)

add_executable(code main.cpp)
=================================================================
==3026==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete) on 0x602000000010
    #0 0x7f19d988e025 in operator delete(void*, unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x111025)
    #1 0x561bc11fd2f3 in main /data/code/main.cpp:7
    #2 0x7f19d93cd0b2 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x240b2)
    #3 0x561bc11fd1cd in _start (/data/code/cmake-build-debug/code+0x11cd)

0x602000000010 is located 0 bytes inside of 2-byte region [0x602000000010,0x602000000012)
allocated by thread T0 here:
    #0 0x7f19d988cb47 in operator new[](unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10fb47)
    #1 0x561bc11fd29e in main /data/code/main.cpp:5
    #2 0x7f19d93cd0b2 in __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x240b2)

SUMMARY: AddressSanitizer: alloc-dealloc-mismatch (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x111025) in operator delete(void*, unsigned long)
==3026==HINT: if you don't care about these errors you may set ASAN_OPTIONS=alloc_dealloc_mismatch=0
==3026==ABORTING

高级用法

相关推荐

  1. C++】内存泄漏排查

    2023-12-29 14:18:02       34 阅读
  2. windbg托管内存泄漏排查

    2023-12-29 14:18:02       23 阅读
  3. linux内存泄漏排查方法

    2023-12-29 14:18:02       10 阅读
  4. C++】内存泄漏

    2023-12-29 14:18:02       15 阅读
  5. 使用Visual Leak Detector排查内存泄漏

    2023-12-29 14:18:02       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-29 14:18:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-29 14:18:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-29 14:18:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-29 14:18:02       20 阅读

热门阅读

  1. Avalonia 多绑定(Multi-binding)

    2023-12-29 14:18:02       37 阅读
  2. 前端设计模式

    2023-12-29 14:18:02       43 阅读
  3. 英语国家文化 复习总结

    2023-12-29 14:18:02       27 阅读
  4. 再谈小米汽车

    2023-12-29 14:18:02       46 阅读
  5. 2706. 购买两块巧克力

    2023-12-29 14:18:02       37 阅读
  6. 图像匹配SATD

    2023-12-29 14:18:02       29 阅读
  7. Docker Harbor私有镜像image仓库安装

    2023-12-29 14:18:02       40 阅读
  8. 出版实务 | 工具书

    2023-12-29 14:18:02       32 阅读