我在下面的帖子中注意到,您可以从 FastMM 中获取堆栈跟踪,以显示对象被分配的位置:
不过,我找不到任何有关如何在 Delphi 2009 中启用此功能的信息。
我已设置ReportMemoryLeaksOnShutdown
为 true,所以我得到了基本报告,但我如何获得堆栈跟踪报告?
我在下面的帖子中注意到,您可以从 FastMM 中获取堆栈跟踪,以显示对象被分配的位置:
不过,我找不到任何有关如何在 Delphi 2009 中启用此功能的信息。
我已设置ReportMemoryLeaksOnShutdown
为 true,所以我得到了基本报告,但我如何获得堆栈跟踪报告?
The internal Delphi version of FastMM doesn't support stack traces.
If you want to log the memory leak stack traces, you have to:
download the full version of the FastMM library
include it as the first unit in your project:
program YourProject;
uses
FastMM4, // <--
SysUtils,
Forms,
...
enable the FullDebugMode
option in FastMM4Options.inc
set Map file to Detailed in the linking project options (the FastMM_FullDebugMode.dll
processes the .map
file)
add the FastMM_FullDebugMode.dll
in your binary (or Windows System32
) directory
您可能还想查看 Jeremy North 的 FastMM4 选项设置程序。这比直接编辑 inc FastMM4Options.inc 文件要容易一些。这是链接:
此外,Francois Gaillard 在 CodeRage II 上展示了一个名为“为傻瓜而战”的会议,并专门与 FastMM 打交道。它在 2007 年 11 月 29 日星期四上午 9:45 - 10:45 的 CodeRage II 重播中列出。
http://edn.embarcadero.com/article/37498
问候, 欧文