Hi,
Please be gentle with my misunderstandings - while I've had many, many years experience with Delphi, I'm a complete noobie with Lazarus
(In my retirement, I'm investigating mORMot for some home projects but that is too much of a mouthful for my ancient personal copy of D2006.
Although I'm really impressed with Lazarus/FPC, the subtle differences do trip me up)
Ok...
A recent major change to one of my first "real" (20+unit) programs shows 4 unfreed blocks in the 1KB .TRC file but no Call Stack - and I can't find any way to get more information on the leaks
>>>
D:\Lazarus\PJS\WalkClubs\WalkClubEditor\WalkClubEditor.exe
Heap dump by heaptrc unit of D:\Lazarus\PJS\WalkClubs\WalkClubEditor\WalkClubEditor.exe
10181 memory blocks allocated : 2680939/2702112
10177 memory blocks freed : 2680459/2701632
4 unfree
<<<
A small test program with a deliberate memory leak does correctly generate a larger (3KB) .TRC file with Call Stack, addresses, procedure names, line numbers, etc, etc showing *all* of the unpaired memory allocations.
It was only later, after I'd moved the program to a different folder, that I realised that my .TRC file was being truncated - and at /exactly/ 1,024 bytes
I couldn't find any forum post mentioning any similar truncation.
I did find (older) posts suggesting /not/ having "using heaptrc" in my own source - but if I don't, how can I access "SetHeapTraceOutput" or "GlobalSkipIfNoLeaks"?
What stupid mistake have I made to have this effect on the .TRC file?
Thanks in advance for any help
Paul
Lazarus v3.2
FPC 3.2.2
Windows 10 Pro x86_64 22H2
Project Options...
D:\Lazarus\Lazarus3.2\fpc\3.2.2\bin\x86_64-win64\fpc.exe
-MObjFPC
-Scaghi
-CirotR
-gw3
-gl
-gh
-Xg
-gt
-WG
-l
-vewnhibq
-Filib\x86_64-win64
-Fi..\..\..\mORMot2\src
-Fi..\..\..\mORMot2\src\core
...
-Fu..\..\..\Lazarus3.2\packager\units\x86_64-win64
-Fu.
-FUlib\x86_64-win64
-FE.
-oWalkClubEditor.exe
-dLCL
-dLCLwin32