我有一个应用程序随着时间的推移不断消耗越来越多的内存(同时主动运行),但没有泄漏。所以我知道程序没有做错的事情,这很容易找到。
相反,我想跟踪分配,以便我可以开始追踪问题,而在Mac上我会使用Instruments,它会详细介绍已分配的对象以及由谁分配,但在Windows上我会是什么?使用?
目前我正在使用VS2005在Windows XP上使用C / C ++。因此,任何用于此设置的工具都会很棒,并且希望这些工具是免费的,或者至少可以提供几周的试用,因为如果需要,完成任何购买(公司资料)需要一段时间,而且我有最后期限。< / p>
谢谢!
编辑:我正在使用VLD,所以我知道该程序没有泄漏,但它似乎占用的内存超过了需要,而且没有返回,所以我需要跟踪分配,没有泄漏。
答案 0 :(得分:2)
答案 1 :(得分:1)
Glowcode is here.它拥有世界上最糟糕的用户界面。如果你有足够的耐心去试图让它正常工作的恐怖,那么内部人员就有了这些东西。有21天的免费试用期。我发现它是一个救星,但你真的不得不想找到那个bug。
答案 2 :(得分:0)
Visual Studio启用内存泄漏 检测
检测内存的主要工具 泄漏是调试器和CRT 调试堆函数。启用 调试堆函数,包括 您的计划中的以下陈述:
#define CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
http://msdn.microsoft.com/en-us/library/e5ewb1h3(VS.71).aspx