如何从FastMM获取堆栈跟踪

Jam*_*mie 17 delphi delphi-2009 fastmm

我在下面的帖子中注意到你可以从FastMM中获取堆栈跟踪,以显示对象分配的位置:

如何使用fastMM追踪棘手的内存泄漏?

但是,我找不到有关如何在Delphi 2009中启用此功能的任何信息.

我设置ReportMemoryLeaksOnShutdown为true所以我得到了基本报告,但是如何获得堆栈跟踪报告?

ulr*_*chb 40

内部Delphi版本的FastMM不支持堆栈跟踪.

如果要记录内存泄漏堆栈跟踪,则必须:

  • 下载FastMM库的完整版本

  • 将它包含在项目的第一个单元中:

    program YourProject;
    
    uses
      FastMM4, // <--
      SysUtils,
      Forms,
      ...
    
    Run Code Online (Sandbox Code Playgroud)
  • 启用该FullDebugMode选项FastMM4Options.inc

  • 在链接项目选项中设置Map文件Detailed(FastMM_FullDebugMode.dll处理.map文件)

  • 添加FastMM_FullDebugMode.dll二进制(或Windows System32)目录

  • 在我的64位窗口上,我不得不将其复制到:`C:\ Windows\SysWOW64` (2认同)

Mar*_*rkF 7

您可能还想查看Jeremy North的FastMM4选项设置程序.它比直接编辑inc FastMM4Options.inc文件容易一些.这是链接:

FastMM4选项界面博客文章


Erw*_*win 5

此外,Francois Gaillard在CodeRage II上发布了一个名为Fuming Memory Leaks for Dummies的会议,专门讨论FastMM.它于2007年11月29日星期四上午9:45至10点45分在CodeRage II重播中列出.

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

此致,欧文