如何在c++; 我的问题是你如何检测C++代码中的内存泄漏?< /强> 到目前为止,我所做的是重载new和delete操作符,并跟踪分配/释放的内存量,但这只会告诉我是否有问题如何获得更有用的信息来查明问题???

如何在c++; 我的问题是你如何检测C++代码中的内存泄漏?< /强> 到目前为止,我所做的是重载new和delete操作符,并跟踪分配/释放的内存量,但这只会告诉我是否有问题如何获得更有用的信息来查明问题???,c++,memory-management,dynamic-memory-allocation,C++,Memory Management,Dynamic Memory Allocation,在Linux上查找,在Windows上查找。对于一个跨平台的解决方案,您可以看看。您可以使用工具来实现这一点:Valgrind、Purify。。。根据您的环境,有些可以工作,有些不能。我认为这篇文章提供了一些关于如何使用valgrind或AQTIME等专用工具进行分配的见解。您可以通过使用\uuuu文件\uuuuuu和\uuu行\uuuu宏找出分配发生的位置。您通常会执行类似于#定义NEW::NEW(u文件,u行)的操作,然后实现void*操作符NEW(std::size\t,char cons

在Linux上查找,在Windows上查找。对于一个跨平台的解决方案,您可以看看。

您可以使用工具来实现这一点:Valgrind、Purify。。。根据您的环境,有些可以工作,有些不能。

我认为这篇文章提供了一些关于如何使用valgrind或AQTIME等专用工具进行分配的见解。您可以通过使用
\uuuu文件\uuuuuu
\uuu行\uuuu
宏找出分配发生的位置。您通常会执行类似于
#定义NEW::NEW(u文件,u行)
的操作,然后实现
void*操作符NEW(std::size\t,char const*,int)
。如果您使用Visual Studio:使用STL应该减少(删除?)内存泄漏。另外,外部工具是最好的解决方案。解决方案需要跨平台,因此任何特定于实现的工具都无法完成任务。我需要跨平台的工具,所以像第三方工具或库之类的工具都是不可能的