delphi - 如何从 FastMM 获取堆栈跟踪

标签 delphi delphi-2009 fastmm

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

How to track down tricky memory leak with fastMM?

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

我已将 ReportMemoryLeaksOnShutdown 设置为 true,以便获得基本报告,但如何获得堆栈跟踪报告?

最佳答案

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

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

  • 下载 FastMM library 的完整版本

  • 将其作为项目中的第一个单元:

    program YourProject;
    
    uses
      FastMM4, // <--
      SysUtils,
      Forms,
      ...
    
  • FastMM4Options.inc 中启用 FullDebugMode 选项

  • 在链接项目选项中将映射文件设置为详细(FastMM_FullDebugMode.dll处理.map 文件)

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

关于delphi - 如何从 FastMM 获取堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1130454/

相关文章:

delphi - 为什么升级到 Delphi 2007 之后我的加密不起作用?

delphi - 我的密码有什么保护方案?

Delphi 2009 - 在运行时创建 TPanel 并更改其颜色

delphi - FastMM 是否检测所有内存泄漏

delphi - 如何在 DUnit 中使用 FastMM 启用内存泄漏跟踪?

delphi - 如何在这段代码中释放 TOleStream

delphi - GExperts grep 带有字符串文字的源行表达式(用于翻译)

delphi - 使用 Delphi 终止其他机器(通过网络)上正在运行的进程?

delphi - 使用 `in` 关键字会导致 Delphi 中出现 "E1012 Constant expression violates subrange bounds"

delphi - delphi编译错误 "[DCC Error] ProjectName.dpr([number]): E1026 File not found: ' FileName.dn'