2011-03-15 96 views

回答

22

尝试使用DebugHook变量

ReportMemoryLeaksOnShutdown:=DebugHook<>0; 
+1

,可能禁用与'DebugHook','{$ WARN SYMBOL_PLATFORM OFF}相关的愚蠢警告' – jasonpenny 2011-03-15 20:20:42

+4

这是为什么警告 “愚蠢”?这是真的。 – 2011-03-15 20:26:05

+0

非常感谢。 – Salvador 2011-03-15 20:28:26

24

如果你的意思是“调试模式”为使用Debug构建配置(D2007 +)编译,你必须调试符号定义,所以你甚至可以激活ReportMemoryLeaksOnShutdown oustide与调试器中运行时:

{$IFDEF DEBUG} 
    ReportMemoryLeaksOnShutdown := True; 
{$ENDIF} 

如果你想只有在调试器是目前运行,看看RRUZ answer

+6

+1我这样做。检测调试器感觉很脏。 – 2011-03-15 20:28:39

1

我通常使用的IsDebuggerPresent API功能,并且还带有DEBUG符号检查围绕着它这样的代码不发布最终构建:

{$IFDEF DEBUG} 
    ReportMemoryLeaksOnShutDown := IsDebuggerPresent(); 
{$ENDIF} 

功能应该已经在Windows单元中声明,如果你并没有使用Delphi的古老版本,并且适用于Windows 2000及更新的版本。

相关问题