Closed AntoineGS closed 8 months ago
So it turns out that using the FastMM_FullDebugMode64.dll
and FastMM_FullDebugMode.dll
from FastMM5 resolves the AV and shows me the leak in question (while using FastMM4).
I do not have a license for FastMM5 so I am still using FastMM4, are the DDLs meant to be interchangeable?
If so is it possible to update the ones in v4 so that I may use them without a FastMM5 license?
Thank you ;)
Hi Antoine,
FastMM5 is backward compatible with the DLL of FastMM4. As you've found out the v5 DLL is also compatible with FastMM4, although that is not guaranteed to remain so going forward. The DLL is pretty much just a wrapper around the JCL, map file parser, so you will probably find that if you just recompile the v4 DLL with the latest JCL that the issue you had with the old DLL will likely go away. Alternatively, you can use the v5 DLL until I get round to updating the v4 DLL myself.
Best regards, Pierre
I recently made some changes, probably not published them.
I recompiled the DLL (but not the debug one, mere runtime manager) with Delphi 2007 from your latest 4.99 sources.
Also enabled bi-direcrional allocation, and, the reason for it for me, I made public the "no leaked memory report" boolean variable.
This all made me need to make some tweaks here and there to make it compile with changes in the INC file, but this was not too complex. Tedious a bit.
So, sure, I guess recompilation fmm4 from sources is relatively straitforward. The code is mature and polished out.
And again, that was with the main manager body, not just stack parser, the debug DCUs perhaps would be yet simple.
P.S. as for pinning it to JCL, not sure. I remember in one other ticket it was said that Delphi changed early RTL initialization sequence for the sake of x-platform and Arc-Delphi. They probably also modified their earlier fork of fmm4 to be compatible with it, but broken mainstream fmm4 doing so.
Thanks for the quick replies, I have not yet recompiled the debug dlls as I do not currently use JCL so I will have to set that up first. Closing the issue as I expect it to be resolved with this.
I have synchronised the FastMM_FullDebugMode source with the FastMM5 repository
Awesome, thank you!!
I have been using FastMM4 for years (it has been great) and have recently started compiling an application in 64bits under Delphi XE3. While it has been working well, I am getting an access violation when closing the application (while running it from the IDE), but I have no idea what to look for to resolve it, so any help would be appreciated.
The exception:
The Stack Trace:
Where the IDE takes me when clicking on Break after the exception:
Local Variables:
FastMM4Options.inc:
Additional Information:
Any pointers on what to investigate would be greatly appreciated, thank you!