0

我的应用程序的目的是消除噪音。当我连续运行并使用 Process Explorer 观察内存使用情况时,我注意到 Private Bytes 缓慢增加,例如从 11.8 MB 到 13 MB 等等。

我的一位同事告诉我,它上升到 1 GB 并且应用程序崩溃了。

我该如何解决这个问题?我已经用 C++ 编写了这个应用程序。

4

2 回答 2

0

您可以从“Windows 调试工具”中获取“UMDH”。有了这个,您可以使用 Windows 的内置支持来查找内存泄漏。

有关详细信息,请参阅使用 UMDH 查找用户模式内存泄漏

另请参阅:UMDH(Windows 调试器

您需要使用 SDK 或 DDK下载适用于 Windows 的调试工具。您还可以从MSDN Archive下载旧版本,它应该足以使用 UMDH。

于 2013-07-22T15:36:47.517 回答
0

对此没有快速解决方法,尤其是在 C++ 内存维护中,您必须在整个开发过程中进行练习,而不是在最后一记耳光。而且由于它几乎可以在您的代码中的任何位置(没有双关语),因此在此处发布代码并不实际。

我唯一的建议是寻找new运营商的用途,并确保有一个随附的delete. 还对您的类/函数/等使用单元测试。可以帮助缩小问题范围。

祝你好运。

于 2013-07-22T15:15:53.830 回答