Jump to content
Sign in to follow this  
Larry Hengen

Updating Legacy Project to latest FastMM4

Recommended Posts

I am attempting to get FastMM4 working in a legacy product that currently uses Delphi Berlin so the team can use Full Debug mode to eliminate existing leaks and prevent new ones.  The solution integrates .NET assemblies using ManagedVCL, and uses a combination of statically linked run-time packages and dynamically loaded packages with RTTI used to invoke methods.  Currently FastMM4 is the first unit in the main EXE's DPR, and when the application is terminated at the login form, FastMM reports huge leaks followed by an AV just as documented in the FastMM4 FAQ which indicates this is a DLL ordering issue.

 

I am looking for some advice from anyone else with a similar experience on how they tracked down the offending DLL/BPLs and fixed the issues.  It takes quite some time for FastMM4 to report the leaks each run, and if I stop the process, the Berlin debugger becomes unstable after the 2nd or 3rd time. I've already fixed a circular BPL reference which according to Windows LoadLibrary can confuse things, but it didn't seem to resolve anything.  Most core third party components and a minimal set of BPLs are loaded at the login form, so I expect more issues will arise as I get into different areas of the application.

 

I was thinking about using CodeSite to trace all the initialization/finalization sections, but the product uses a lot of third party components.  Looking for suggestions on how to approach this in a structured manner.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×