我想知道是否有一种方法可以禁用Visual Studio(如果有影响,是2005版)在结束进程时进行的内存泄漏记录。当我调试大量代码时,我可能只想测试特定功能,然后再研究泄漏问题。我的问题是,当我终止进程时,泄漏日志记录需要很长时间。有时我需要等待一分钟以上才能完成所有转储操作。
非常感谢。
非常感谢。
当您的程序在调试模式下编译时,将调用函数CrtDumpMemoryLeaks。您可以通过调用该函数来关闭此行为。
_CrtSetDbgFlag(0);
这里描述了它的用法(链接)。但是修复那些内存泄漏仍然是明智的选择。通常情况下,一些大的静态对象会占用所有内存。您可以通过将其封装在一个类中,在getter函数中创建对象并在第一次访问时进行重构,从而避免使用在cpp文件中声明的静态对象。现在您可以在程序退出时安全地删除静态对象,作为主方法中的最后一次调用。这样可以修复内存泄漏问题,并且您的报告将更短。
您的,
Alois Kraus
_CrtDumpMemoryLeaks
的调用,那么请注释掉它。 - smerlin