微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Windows开发:如何确定我的应用程序是否泄漏内存?

很久以前,我被告知在应用程序的开始时添加的一些声明,当它完成时,设施将通知应用程序是否具有未回忆的内存。

TIA

加成

这里是:

编写用于C#的非托pipeC ++ DLL

奇怪的行为在这个结构中消失

以微秒精度获得时间点

为什么GetProcAddress()不工作?

如何在正常的用户环境下以编程方式隐藏Windows 8上的任务栏?

http://msdn.microsoft.com/en-us/library/e5ewb1h3%28v=vs.80%29.aspx

LoadFrame(MFC)仅在澳大利亚失败

如何用C ++编写多个GetAsyncKeyState

如何避免在Windows上释放模式下的“program.exe已停止工作”窗口?

DLL函数名称使用dumpbin.exe

在Windows中build立Luabind

使用Visual Studio的调试C运行时库可以跟踪所有分配,并自动报告在应用程序退出时未释放的任何分配。 首先,包含<crtdbg.h> ,然后在程序的最开始,通过调用这个调用来追踪分配和报告泄漏:

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);

在Visual Studio调试器(或另一个监视调试输出的程序)的调试输出窗口中,当应用程序结束时,您将看到泄漏分配的报告。

一般来说,您可能只想在调试版本中执行此操作,因为这会对性能产生不可忽视的影响。

还要注意的是,如果你分配单身人士,永远不会释放他们,他们将(不奇怪)被报告为泄漏。

详细信息在MSDN。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐