0

我有一个即时通讯服务器应用程序,我一直在研究它,它使用 Indy10 服务器组件,并且仅使用 3 个用户定义的对象来保存与登录用户相关的一些信息。这个问题真的很奇怪

如果到服务器的连接数低于 500,它可以正常工作并且内存使用量保持在 100mb 以下,但是当连接数超过 500-600 时,服务器会开始大量消耗内存,并在一小时左右消耗高达 2gb 的内存,并且然后停止响应。我尝试使用 eurekalog 检查问题,但在关闭应用程序后它只报告了几 mb 的泄漏,并且这些泄漏是一些异常消息,我不知道它发生在哪里。

是否有任何工具可以帮助我找到内存问题开始的时间和地点的原因。

谢谢

4

1 回答 1

3

FastMM4可以帮助您追踪内存泄漏。它是自 Delphi 2006 以来的默认内存管理器,但也可以在 Delphi 7 中使用。这里有很多关于使用它的帖子,以及可以通过 Google 找到的帖子以及它包含的源代码和配置文件。此处有用的链接可能是如何在 FastMM4 中启用完整调试模式使用 FastMM4 调试内存分配的系列。

于 2013-06-01T16:40:03.027 回答