gpt4 book ai didi

delphi - 寻找内存泡沫

转载 作者:行者123 更新时间:2023-12-03 15:38:50 25 4
gpt4 key购买 nike

这要么简单得离谱,要么太复杂。 。 。 .

在我们的应用程序中,有一个表单从数据库加载一些数据并将其显示在网格中(简单地说)。当数据刷新时,总内存使用量攀升约 50K(毫无疑问取决于显示的数据量)。听起来像是内存泄漏,但是当我们关闭应用程序时,FastMM 设置为 ReportMemoryLeakOnShutDown := True,并且它不会报告任何异常内存泄漏。

看来我们有一个内存泡或内存袋。每次运行时都会积累更多内存的东西。就像TList不断添加新项目,但旧项目永远不会被删除。然后在关闭过程中所有元素都被销毁。网格中显示的行不会增加,但幕后有很多对象列表使此工作正常进行,因此它可以在任何地方。

所以我的问题是,是否有人知道一个好技巧来找出应用程序的哪些部分正在使用多少内存。 。 。 。我可以想到很多繁琐的方法来做到这一点(我正在这样做 - 检查我能找到的每个列表),所以我希望有人有我没有想到的技巧或技巧。

提前致谢!

更新:每次刷新都会导致额外使用 10-50K 内存。用户报告说应用程序最终停止响应。它确实像内存泄漏一样,但 FastMM(内存管理器)没有发现任何泄漏。我会尝试一些其他的内存工具。 。 。

最佳答案

只需按 F8 浏览关键部分并查看进程使用图(Mark Russinovich 的 Process Explorer 非常适合此操作)。当您找到罪魁祸首的方法时,重复该过程,但深入到该方法。

关于delphi - 寻找内存泡沫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/509767/

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