[Lazarus] heptrc

Mattias Gaertner nc-gaertnma at netcologne.de
Thu Jun 7 11:09:05 CEST 2012


On Thu, 07 Jun 2012 09:20:12 +0200
Antonio Fortuny <a.fortuny at sitasoftware.lu> wrote:

> Hi all.
> 
> I'm running in trouble again when using "heaptrc" to trace memeory leaks.
> Win64, Lazarus 0.9.31-35571, FPC 2.6.1
> Project options set:
>      code generation all standard
>      linking:
> 
> I have deliberately allocated one memory block of 16 bytes that is not 
> released (shown in heaptrc report)
> I have redirected the heaptrc output to a file, at the very beginning of 
> the program:
> project.lpr:
> {$IFDEF MEMORY_LEAKS}
>    MLFile := ChangeFileExt(ParamStr(0), '.mlk');
>    if FileExists(MLFile) then
>      DeleteFile(MLFile);
>    SetHeapTraceOutput(MLFile);
> {$ENDIF}
> and I get an heptrc report which contains:
> C:\Sources\compiled\LazArraysUIB.exe
> Heap dump by heaptrc unit
> 9455 memory blocks allocated : 4020987/4035768
> 9454 memory blocks freed     : 4020971/4035752
> 1 unfreed memory blocks : 16 <<=========================== sounds OK
> True heap size : 786432 (160 used in System startup)
> True free heap : 813088
> Should be : 786128
> Call trace for block $0000000000086ED0 size 16 
> <<========================== this is OK
>    $000000000040FE8E
>    $0000000000540A19
>    $0000000000531EF9
>    $000000000050E44A
>    $0000000000586FA9
>    $000000000052DC99
>    $000000000053B4C7
>    $00000000005B5237
> Where are gone the line references ?
> 
> Any ideas ?
> BTW, same behaviour with Lazarus Win32 1.1-37027 FPC 2.6.1 on a Vista Win32

Have you enabled "Display line numbers in ..." in the compiler options
of your project?

Mattias




More information about the Lazarus mailing list