FastMM4 Options
Source: https://unigui.com/doc/online_help/index.html?fastmm4-options.htm
Here are the options that should be enabled or disabled (based on the scenario) for debugging a uniGUI application. These options are already declared in the file FastMM4uniGUIOptions.inc.
We briefly describe each option and the reason that it must be enabled. For more detailed information about these options please review FastMM4Options.inc or FastMM4uniGUIOptions.inc.
When the text says an option "must be enabled" it means it is required for proper uniGUI debugging behavior. When it says "enable this option" it is a recommended setting for the described scenario.
FullDebugMode
This option must be enabled to make sure FastMM4 will run in debug mode with all debugging features enabled.
NeverUninstall
This option must be enabled. (See FastMM4Options.inc)
AssumeMultiThreaded
Every uniGUI app is multi-threaded in nature so this option must be enabled.
NeverSleepOnThreadContention
Enabling this option is required. (See FastMM4Options.inc)
UseSwitchToThread
Enabling this option is required. (See FastMM4Options.inc)
NoDebugInfo
Enable this option to suppress the generation of debug info for the FastMM4.pas unit. This will prevent the integrated debugger from stepping into the memory manager code.
CheckHeapForCorruption
Enabling this option is needed to trace memory corruptions.
CatchUseOfFreedInterfaces
Enable this option to catch accesses to interfaces of an already freed object.
Note: This option is not enabled by default because, according to FastMM docs, it will disable the checking of blocks modified after being freed. Enable it when you specifically need to check issues regarding interfaces to previously freed objects.
ClearLogFileOnStartup
It is enabled and recommended to clear the FastMM log file each time the application starts.
RequireDebuggerPresenceForLeakReporting
This option is enabled by default in FastMM options. When enabled, memory leak reporting only occurs when the Delphi IDE (debugger) is present.
When disabled, memory leak reporting will also occur when Delphi IDE is not running. Memory leak reports are displayed in a system message box and logged into the FastMM log file when the EXE is terminated; therefore this behavior is normally desired only when the application is being debugged in the Delphi IDE.
You can disable this option and enable the NoMessageBoxes option so memory leaks are logged into the FastMM log file only when the application is not being debugged in the Delphi IDE.
NoMessageBoxes
Enable this option to permanently disable showing message boxes for FastMM errors. This is useful for unattended debugging or when showing a message box is not desired (for example, when the application is being tested under HyperServer).