【发布时间】:2012-05-20 20:53:27
【问题描述】:
我在 C++ 中进行编码,在 Windows 7 上使用 Visual Studio 2008。
我的应用程序有内存泄漏,我可以通过系统监视器看到它。
我需要在代码中发现它。
是否存在返回分配给调用进程的内存量的函数?
【问题讨论】:
-
知道你分配了多少内存并不能帮助你找到泄漏。
-
@ColeJohnson 这既不是一个好建议,也不是一个有用的评论。操作,见Memory Leak Detection on MSDN。
-
我希望有一个像
getAllocatedMem()这样的函数在某些函数调用之前和之后立即调用,以检查它们是否释放所有内存。你的建议很好,但我将此代码用作库,我不知道如何调试正在运行的库。 -
我不认为这样的功能存在,也不是一个简单的解决方案。如果您尝试查找泄漏的代码是库,请尝试多次调用您怀疑是问题原因的函数,并查看内存消耗何时爆炸:反复试验。
-
@Cicada:这种方法会产生大量的误报。这家伙可能需要分配分析器或自定义内存管理器。
标签: c++ windows memory-leaks