In Delphi XE I always used ReportMemoryLeaksOnShutDown
to detect any leaks when exiting my Applications, most my projects were rather small and finding the leaks was usually not too difficult.
In Lazarus there is no such option but I have just found out an option called Heaptrcon, more information on this page: http://wiki.lazarus.freepascal.org/Profiling
In Project Options > Linking I have set the (-gh) flag, now my fears of any leaks have become a reality. I would post code but because there are a lot of different classes and units I have no idea where to begin in fixing these leaks, this is a project far larger than any other I have worked on.
This a screenshot of some of the leaks:
My debugging skills are practically zero, so far I have looked to see every Object or Class I have created, and then checked to see if it has been freed. Because I am working with a lot of TLists and Pointers/Objects etc the leak could be coming from anywhere I guess.
Is there any clues or tips of where to even begin looking? I am looking at the call stack for each block that is size 16, and there is 6 of them, could this mean there are 6 objects not been destroyed correctly?
I am at a loss, where to begin?
Thanks in advance.