如何从FastMM获取堆栈跟踪

时间:2009-07-15 09:50:13

标签: delphi delphi-2009 fastmm

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

How to track down tricky memory leak with fastMM?

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

我已将ReportMemoryLeaksOnShutdown设置为true,因此我获得了基本报告,但如何获取堆栈跟踪报告?

4 个答案:

答案 0 :(得分:40)

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

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

  • 下载完整版FastMM library

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

    program YourProject;
    
    uses
      FastMM4, // <--
      SysUtils,
      Forms,
      ...
    
  • 启用FullDebugMode

  • 中的FastMM4Options.inc选项
  • 在链接项目选项中将地图文件设置为详细FastMM_FullDebugMode.dll处理.map文件)

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

答案 1 :(得分:6)

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

FastMM4 Options Interface Blog Post

答案 2 :(得分:5)

此外,Francois Gaillard在CodeRage II上发布了一个名为“为傻瓜打击内存泄漏”的会议,专门讨论FastMM。它于2007年11月29日星期四上午9:45至10点45分在CodeRage II重播中列出。

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

此致 欧文

答案 3 :(得分:3)

您还可以看到thisthis的详细说明,而不是ulrichb的回复。

don't forget to enable "Use Debug DCUs" option;)

相关问题