Reputation: 3172
I've noticed in the following post that you can get a stack trace out of FastMM to show what appears to be where an object was allocated:
How to track down tricky memory leak with fastMM?
I can't find any information on how to enable this in Delphi 2009, though.
I have set ReportMemoryLeaksOnShutdown
to true so I get the basic report, but how do I get the stack trace report?
Upvotes: 20
Views: 9856
Reputation: 20054
The internal Delphi version of FastMM doesn't support stack traces.
If you want to log the memory leak stack traces, you have to:
download the full version of the FastMM library
include it as the first unit in your project:
program YourProject;
uses
FastMM4, // <--
SysUtils,
Forms,
...
enable the FullDebugMode
option in FastMM4Options.inc
set Map file to Detailed in the linking project options (the FastMM_FullDebugMode.dll
processes the .map
file)
add the FastMM_FullDebugMode.dll
in your binary (or Windows System32
) directory
Upvotes: 46
Reputation: 5668
You can also see this and this for more detailed description, than ulrichb's reply.
And don't forget to enable "Use Debug DCUs" option ;)
Upvotes: 4
Reputation: 1926
In addition, Francois Gaillard presented on CodeRage II a session called Fighting Memory Leaks for Dummies and deals specifically with FastMM. It is listed under the CodeRage II replays at thursday, November 29, 2007, 9.45am - 10:45am.
http://edn.embarcadero.com/article/37498
Regards, Erwin
Upvotes: 6
Reputation: 1646
You may also want to check out Jeremy North's FastMM4 Option setting program. It's just a bit easier than editing the inc FastMM4Options.inc file directly. Here's the link:
FastMM4 Options Interface Blog Post
Upvotes: 8