gpt4 book ai didi

delphi - 监控 Delphi 应用程序中的内存使用情况

转载 作者:行者123 更新时间:2023-12-03 14:46:20 28 4
gpt4 key购买 nike

我从一位离开公司的程序员那里继承了一个非常大的子系统,首要任务是阻止该进程耗尽内存。

基本上,它是一个数据集的循环,在其中我们创建和销毁一个数据模块,该模块会关闭并执行大量工作。只要创建了这个数据模块,你就可以在任务管理器中看到内存使用一直在攀升,直到爆掉。我似乎记得几年前读过的一篇文章,人们不应该完全相信任务管理器报告的内容,因为这些值是估计值而不是实时的。所以我正在寻找替代方案。

这是我尝试过的:

  1. ReportMemoryLeaksOnShutdown := True 在我的主项目文件中,但它什么也不返回。因此,它要么不监视动态加载的包中的内存泄漏,要么在应用程序关闭之前释放内存。
  2. AQTime。这应该是一个非常的产品,但我发现它完全没有给人留下深刻的印象。如果我使用分配分析器,我最终会得到数百行,其中不包含任何有用的内容。只是内存地址、大小和类似于“VCL 标准分配”的内容。据说它按常规分解信息,但我只是得到一个没有任何常规信息的平面列表。所以我认为这不起作用。

是否有其他工具可以帮助我跟踪内存的分配位置和未释放位置?我一直在各处注释掉一些功能,以查看问题消失的地方,并检查显式分配的所有内容是否都已释放,但我仍然存在泄漏,这可能是一个相当令人沮丧的过程。

最佳答案

FastMM 包含一个简单的 GUI,可在应用程序运行时显示内存使用情况。

示例项目位于 Demos/Usage Tracker 目录中。

关于delphi - 监控 Delphi 应用程序中的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6150444/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com