在Delphi XE中,我总是使用
在Lazarus中没有这样的选项,但我刚刚发现了一个名为Heaptrcon的选项,在此页面上可以找到更多信息:http://wiki.lazarus.freepascal.org/Profiling 在项目选项>链接中,我设置了(-gh)标志,现在我的担忧变成了现实。我想发布代码,但由于有很多不同的类和单元,我不知道从哪里开始修复这些泄漏问题,这是我所处理过的最大的一个项目。
这是一些泄漏的截图:
我的调试技能几乎为零,到目前为止,我已经查看了我创建的每个对象或类,并检查它是否已被释放。因为我正在使用许多TLists和指针/对象等,泄漏可能来自任何地方。
有没有线索或提示从哪里开始寻找?我正在查看每个块的调用堆栈大小为16,有6个,这是否意味着有6个对象未被正确销毁?
我无从下手,从哪里开始?
提前感谢您的帮助。
ReportMemoryLeaksOnShutDown
来检测退出应用程序时的任何泄漏,我的大部分项目都相当小,找到泄漏通常不太困难。在Lazarus中没有这样的选项,但我刚刚发现了一个名为Heaptrcon的选项,在此页面上可以找到更多信息:http://wiki.lazarus.freepascal.org/Profiling 在项目选项>链接中,我设置了(-gh)标志,现在我的担忧变成了现实。我想发布代码,但由于有很多不同的类和单元,我不知道从哪里开始修复这些泄漏问题,这是我所处理过的最大的一个项目。
这是一些泄漏的截图:
![enter image description here](https://istack.dev59.com/MOiHi.webp)
有没有线索或提示从哪里开始寻找?我正在查看每个块的调用堆栈大小为16,有6个,这是否意味着有6个对象未被正确销毁?
我无从下手,从哪里开始?
提前感谢您的帮助。