2010-08-16 89 views
2

我有一个Delphi Apache共享模块。基类是TWebModule。我可以通过指定下列参数使用调试器中运行:检测TWebModule内存泄漏

主机应用程序: C:\ Program Files文件\ Apache软件基金会\ APACHE2.2 \斌\ httpd.exe

参数: - X -w -f“C:\ Program Files \ Apache Software Foundation \ Apache2.2 \ conf \ httpd.conf”

我相信我的代码中可能有内存泄漏。我已经尝试了EurekaLog和FastMM,但一直未能让他们检测到任何泄漏,更不用说做任何有用的日志记录。对于FastMM,我定义了FullDebugMode。但是当我运行没有创建日志文件。

我已成功使用Eureka Log来检测Win32应用程序的泄漏。但与Apache的整合证明非常困难。

任何人都可以提供用于跟踪Apache动态共享对象的内存泄漏的策略/工具吗?

+2

实际上用EurekaLog进行了更多的实验。我不是从调试器运行它,而是从控制面板启动Apache。在我的Eureka选项中,我指定了日志文件的位置。这一直奏效。 – 2010-08-16 02:12:25

回答

2

对于FastMM4,你必须确保你还定义:

{$define LogMemoryLeakDetailToFile} 
{$define EnableMemoryLeakReporting} 

我也想尝试,而不需要IDE或调试器存在:

{.$define RequireIDEPresenceForLeakReporting} 
{.$define RequireDebuggerPresenceForLeakReporting} 

同时也要确保您有调试信息打开或关闭:

{.$define RequireDebugInfoForLeakReporting}