我的目的是消除噪音。当我连续运行并使用Process Explorer观察内存使用情况时,我注意到Private Bytes缓慢增加,例如从11.8 MB增加到13 MB,依此类推。
我的一位同事告诉我它高达1 GB,应用程序崩溃了。
我该如何解决这个问题?我用C ++编写了这个应用程序。
答案 0 :(得分:0)
对此没有快速解决方法,特别是在C ++中,内存维护是你必须在整个开发过程中实践的,而不是在最后。因为它几乎可以在你的代码中的任何地方(没有双关语),所以在这里发布代码并不实际。
我唯一的建议是寻找new
运算符的使用,并确保附带delete
。还在类/函数/等上使用单元测试。可以帮助缩小问题范围。
答案 1 :(得分:0)
您可以从“Windows调试工具”中选择“UMDH”。有了这个,您可以使用Windows的内置支持来查找内存泄漏。
有关详细信息,请参阅Using UMDH to Find a User-Mode Memory Leak
您需要使用SDK或DDK下载Debugging Tools for Windows。您也可以从MSDN Archive下载旧版本,这应该足以使用UMDH。