2009-07-15 31 views
16

我注意到在下面的帖子,你可以得到一個堆棧跟蹤FastMM的展現似乎是其中一個對象被分配得到一個堆棧跟蹤:如何從FastMM

How to track down tricky memory leak with fastMM?

儘管如此,我在Delphi 2009中找不到有關如何啓用此功能的任何信息。

我已將ReportMemoryLeaksOnShutdown設置爲true,以便獲取基本報告,但是如何獲取堆棧跟蹤報告?

回答

39

FastMM的內部Delphi版本不支持堆棧跟蹤。

如果要記錄的內存泄漏堆棧跟蹤,你必須:

  • 下載完整版的FastMM library

  • 它作爲您的項目中第一單元

    program YourProject; 
    
    uses 
        FastMM4, // <-- 
        SysUtils, 
        Forms, 
        ... 
    
  • 啓用的FullDebugMode選項

  • 設置地圖文件詳細在鏈接項目股權(FastMM_FullDebugMode.dll過程.map文件)

  • 添加FastMM_FullDebugMode.dll在二進制文件(或Windows System32)目錄

+1

FastMM_FullDebugMode.dll也可以存儲在Windows系統目錄中。我的64位窗口上的 – gabr 2009-07-15 10:04:45

+2

我不得不將其複製到:`C:\ Windows \ SysWOW64` – 2012-10-10 14:24:01

5

此外,弗朗索瓦蓋拉德在CodeRage II提出了一個調用FastMM爭取傻瓜內存泄漏和交易特別會議。它在2007年11月29日星期四上午9時45分 - 上午10時45分在CodeRage II重播中列出。

http://edn.embarcadero.com/article/37498

的問候, 歐文