【发布时间】:2014-10-20 11:24:21
【问题描述】:
我在使用大型遗留应用程序(32 位、窗口、带有 GUI 的 c++)时遇到内存问题。内存增加到最大限制(2G0)然后应用程序崩溃。 无法使用实时内存分析器(如 AQTime)(太慢,对内存消耗的影响太大)。 例如,我可以使用 windows 工具(通过任务管理器)生成转储。
问题:是否可以像在 dotnet(使用 .net Memory Profiler)中一样,从生成的转储中获得内存中存在的动态分配对象的类型?
【问题讨论】:
-
这里的一般智慧是不要等到进程崩溃再开始寻找泄漏。不要在 C++ 应用程序上使用 .NET 工具,它们不会告诉你任何事情。如果您不能使用 crtdbg.h 中的调试分配器,那么 umhd.exe 是首选武器。