I need to activate the ReportMemoryLeaksOnShutdown
functionality to report the memory leaks of my application, but only under debug mode (when the Delphi IDE is running). How can I do this?
I usually use the IsDebuggerPresent API function and also surround it with a DEBUG symbol check so the code doesn't end up in release builds:
{$IFDEF DEBUG}
ReportMemoryLeaksOnShutDown := IsDebuggerPresent();
{$ENDIF}
The function should already be declared in the Windows unit, if you're not using an ancient version of Delphi and works on Windows 2000 and newer.
If you mean "debug mode" as compiled using the Debug build configuration (D2007+), you'll have the DEBUG symbol defined, so you can activate the ReportMemoryLeaksOnShutdown even when running oustide the debugger with:
{$IFDEF DEBUG}
ReportMemoryLeaksOnShutdown := True;
{$ENDIF}
If you want to run only if the debugger is present, look at RRUZ answer
try using the DebugHook
variable
ReportMemoryLeaksOnShutdown:=DebugHook<>0;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With