Delphi 如何使FastMM日志文件更具可读性

Delphi 如何使FastMM日志文件更具可读性,delphi,memory-management,delphi-xe5,fastmm,Delphi,Memory Management,Delphi Xe5,Fastmm,我最近开始使用FastMM,现在我想知道是否有可能将FastMM日志文件配置为可读性更强一点,这样它就可以为我指明内存泄漏的确切位置,比如指定实际的单元和函数/行号,在大多数情况下,我会得到类似 A memory block has been leaked. The size is: 20 This block was allocated by thread 0xE7C, and the stack trace (return addresses) at the time was:

我最近开始使用FastMM,现在我想知道是否有可能将FastMM日志文件配置为可读性更强一点,这样它就可以为我指明内存泄漏的确切位置,比如指定实际的单元和函数/行号,在大多数情况下,我会得到类似

A memory block has been leaked. The size is: 20

This block was allocated by thread 0xE7C, and the stack trace (return addresses) at the time was:

    5005995A [System.pas][System][System.@GetMem][4316]
    5005E99F [System.pas][System][System.TObject.NewInstance][15447]
    5005F292 [System.pas][System][System.@ClassCreate][16757]
    23A606 [FireDAC.Stan.Util.pas][FireDAC.Stan.Util][FireDAC.Stan.Util.TFDBuffer.Create][1516]
    4C46D3 [FireDAC.Phys.IBWrapper][Phys.Ibwrapper.TIBDatabase.$bctr$qqrp29Firedac.Phys.Ibwrapper.TIBEnvp14System.TObject]
    4C4730 [FireDAC.Phys.IBWrapper][Phys.Ibwrapper.TIBDatabase.$bctr$qqrp29Firedac.Phys.Ibwrapper.TIBEnvpvp14System.TObject]
    4CEF79 [FireDAC.Phys.IBBase][Phys.Ibbase.TFDPhysIBConnectionBase.InternalConnect$qqrv]
    E4A553 [FireDAC.Phys.pas][FireDAC.Phys][FireDAC.Phys.TFDPhysConnection.ConnectBase][3161]
    E4A60E [FireDAC.Phys.pas][FireDAC.Phys][FireDAC.Phys.TFDPhysConnection.DoConnect][3187]
    E4B11C [FireDAC.Phys.pas][FireDAC.Phys][FireDAC.Phys.TFDPhysConnection.Open][3361]
    34A14C [FireDAC.Comp.Client.pas][FireDAC.Comp.Client][FireDAC.Comp.Client.TFDCustomConnection.DoInternalLogin][3642]

The block is currently used for an object of class: TFDBuffer

这并不能真正满足我的需要。

它已经告诉你-单元名称在第一组
[]
(每行的左侧)中,行号在最后一组
[]
(每行的右侧)。问题是它不能将你引导到你的代码,我有一个使用大量单元的应用程序,所以这个堆栈跟踪非常模糊,因为这个内存泄漏可以发生在任何单元中。我需要一些更有意义的东西,目前很难在我的代码中检测到。可能重复我想要这个问题中的东西,检查他指出内存泄漏的位置,但在他的情况下,这是一个问题,现在我需要知道他如何制作他的FastMM日志文件来指定内存泄漏的确切位置,我提到的madExcept是fastmm允许来自其他工具(如madExcept、EurekaLog和JDGB)的堆栈跟踪。但我知道您可以配置堆栈跟踪深度。你为什么不仔细研究一下这些选项呢。您正在使用完整的FastMM,不是吗?它已经告诉您-单元名称在第一组
[]
(每行的左侧)中,行号在最后一组
[]
(每行的右侧)。问题在于它无法将您指向您的代码,我有一个使用大量单元的应用程序,所以这个堆栈跟踪非常模糊,因为这个内存泄漏可以发生在任何单元中。我需要一些更有意义的东西,目前很难在我的代码中检测到。可能重复我想要这个问题中的东西,检查他指出内存泄漏的位置,但在他的情况下,这是一个问题,现在我需要知道他如何制作他的FastMM日志文件来指定内存泄漏的确切位置,我提到的madExcept是fastmm允许来自其他工具(如madExcept、EurekaLog和JDGB)的堆栈跟踪。但我知道您可以配置堆栈跟踪深度。你为什么不仔细研究一下这些选项呢。你在用全速,是吗?