我使用 Delphi 的 LeakCheck 库https://bitbucket.org/shadow_cs/delphi-leakcheck。
我知道我可以使用这样的构造禁用泄漏报告:
{$IFDEF DEBUG}
System.ReportMemoryLeaksOnShutdown := true; // this will enable LeakCheck to display a message on Windows
{$ELSE}
System.ReportMemoryLeaksOnShutdown := false;
{$ENDIF}
但我还需要库在 RELEASE 模式下编译时不收集任何数据。
我可以像这样轻松地“破解” LeakCheck.pas 初始化/完成部分:
...
{$IFDEF DEBUG} // <--- Code added by me
initialization
TLeakCheck.Initialize;
finalization
TLeakCheck.Finalize;
{$ENDIF} // <--- Code added by me
end.
有没有更好的办法?我错过了条件定义还是全局属性?