Valgrind:查找内存泄漏

Valgrind作为一款经典的内存检查工具与ASAN功能相似,但也可以与ASAN相互补充,更有利于排查问题。

Ubuntu22.04上安装Valgrind的方法:

1.sudo apt update

2.sudo apt install valgrind

 Valgrind使用起来很容易,只要通过

$ valgrind --tool=memcheck  --leak-check=full ./需要被检查的程序

--leak-check=full,将会显示详细的泄漏信息,建议使用

--leak-check=yes,只显示摘要信息

另外编译程序时建议使用-g参数,以获得详细的堆栈信息

//a.cpp
void* a()
{
    return new int;
}

//m.cpp
void* a();
 
int main()
{
    a();
    return 0;
}

g++ -o m a.cpp m.cpp -g

$ valgrind --tool=memcheck  --leak-check=full ./m
==4792== Memcheck, a memory error detector
==4792== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==4792== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==4792== Com

你可能感兴趣的:(C/C++,c++)