任务经理有多精确?

时间:2010-08-12 12:51:30

标签: c++ memory memory-leaks taskmanager

我有一个C ++应用程序,当我观察任务管理器时,它显示应用程序的内存使用量逐渐增加。

我手动检查我的源代码,并使用Visual Leak Detector for Visual C++查找内存泄漏,但我找不到任何内容。 是100%存在内存泄漏,我找不到它,或者任务管理器是否有可能误导我?

3 个答案:

答案 0 :(得分:4)

不是。它有几个内存统计选项(使用View + Columns),版本很重要,但默认视图显示工作集。程序使用的虚拟内存有多少实际上在RAM中。这是一个可以很快改变的统计数字。例如,最小化应用程序的主窗口。

它可以显示的VM大小也不是很好。该数字包括免费堆块。获取实际内存非常棘手,请阅读针对HeapWalk的SDK文章中的小字。

对于泄漏检测没有用,除非你泄漏它。

答案 1 :(得分:1)

我使用Process Explorer替代任务管理器。它显示了CPU /内存使用情况的历史图表

答案 2 :(得分:0)

我使用扩展任务管理器 http://www.warecase.com/products.asp

这对于调试目的非常有用,尤其是检查线程是否存在以及其他此类情况。如果您的流程或应用程序有pdb,它可以提供大量信息。

可能您可以使用DevPartner来识别内存泄漏。这非常有用。