推荐使用工具valgrind,安装:
sudo apt install valgrind #debian/ubuntu
内存泄漏示例代码如下:
/* code with memory leak */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int *ptr = (int*)malloc(10);
return 0;
}
进行检测:
-> # valgrind --leak-check=full ./test
==14896== Memcheck, a memory error detector
==14896== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==14896== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info
==14896== Command: ./test
==14896==
==14896==
==14896== HEAP SUMMARY:
==14896== in use at exit: 10 bytes

本文介绍了C++内存泄漏的检测方法,推荐使用valgrind和AddressSanitizer工具。通过示例代码展示了内存泄漏问题,并提到了在Windows上可以使用CRT库进行检测。此外,还提及了AddressSanitizer的使用及其在解决LeetCode错误中的应用。
最低0.47元/天 解锁文章
2458

被折叠的 条评论
为什么被折叠?



