我需要激活ReportMemoryLeaksOnShutdown
功能来报告我的应用程序的内存泄漏,但只能在调试模式下(当Delphi IDE运行时)。我怎么能这样做?
答案 0 :(得分:27)
如果您的意思是使用Debug构建配置(D2007 +)编译的“调试模式”,您将定义DEBUG符号,因此即使在调试器运行oustide时,您也可以激活ReportMemoryLeaksOnShutdown:
{$IFDEF DEBUG}
ReportMemoryLeaksOnShutdown := True;
{$ENDIF}
如果只想在调试器存在的情况下运行,请查看RRUZ answer
答案 1 :(得分:23)
尝试使用DebugHook
变量
ReportMemoryLeaksOnShutdown:=DebugHook<>0;
答案 2 :(得分:4)
我通常使用 IsDebuggerPresent API函数,并使用DEBUG符号检查将其包围,因此代码不会在发布版本中结束:
{$IFDEF DEBUG}
ReportMemoryLeaksOnShutDown := IsDebuggerPresent();
{$ENDIF}
如果您没有使用古老版本的Delphi并且可以在Windows 2000及更高版本上运行,则该功能应该已经在Windows单元中声明。