delphifastmm

How can I stop at a given number memory alloc by FastMM4 in Delphi 11.1.5?


I set the FullDebugMode in FastMM4 and it generates the *_EventLog.txt file now. It contains the stack trace, the memory allocation number, etc.

The stack trace section is very short (I don't know where it is come from to a generic code segment) and hard to trace the things "by hand".

How can I stop the prog when it is about to allocate the given number mem block, when I run it next time?

Some leaks happens on app startup so the mem alloc numbers are constants for these leaks.


Solution

  • First. Include the full version of FastMM (actually I expect that you already do this...) and find the start of FastGetMem (or DebugGetMem if Full debug mode is selected) and create a breakpoint at the first executed line.

    Right click the breakpoint -> Properties There is a field "Counter" (Durchlaufzähler in German...) which you can setup with the number you like to have. The debugger will break after "counter" iterations there. You can check the call stack to see where the routine has been called from.