2010-08-16 203 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}