[fpc-pascal] Debug information again

Antonio Fortuny a.fortuny at sitasoftware.lu
Wed Jun 13 13:58:46 CEST 2012


Hi folks.

I've got a serious prblem too with debugger and heaptrc.
It look like the one described by *Rainer Stratmann *posted last month. 
My problem goes around the tracing of memory leaks.
I've been busy with Martin on the Lazarus mailing list and he couldn't 
find why addresses were not followed by their line reference.
Apparently all tracing references from the program seem to be omitted or 
maybe better, unreachable.
When I do a strip from the program executable it shrinks from 17 meg 
down to 2.5 meg. So something is in it.
I can see the memory leak I have generated (read below) but no refecence 
to the line itself. Instead I receive the reference lines before and 
after the memory leak creation inside the rtl.
Environment:
W7-win32, Lazarus 1.1 from 2012-06-11, WinCE target added and compiles OK
Project:
Very simple project (one form, two buttons one to create a memory leak, 
one to close)
Redirect heaptrc output to a file
Set compiler options for compiler and linker:
do not use INLINE style C++
-O- omit any optimization
-g automatic debugger
-gl add line numbers
-gh use heaptrc
-WG win32 program
compile, link and run and get this:
/*c:\sources\compiled\TestUib.Exe
Heap dump by heaptrc unit
756 memory blocks allocated : 1539928/1541288
755 memory blocks freed     : 1539912/1541272
1 unfreed memory blocks : 16*/ <<======== my block, looks OK
/*True heap size : 655360 (96 used in System startup)
True free heap : 658416
Should be : 655184
Call trace for block $001D62B0 size 16*/ <<======== my block, looks OK
/*  $0040D628
   $004FAA4E  TCONTROL__CLICK,  line 2735 of ./include/control.inc
   $00512A7F  TBUTTONCONTROL__CLICK,  line 56 of ./include/buttoncontrol.inc
   $005130B6  TCUSTOMBUTTON__CLICK,  line 175 of ./include/buttons.inc
   $00513711  TBUTTON__CLICK,  line 355 of ./include/buttons.inc
   $005129AA  TBUTTONCONTROL__WMDEFAULTCLICKED,  line 26 of 
./include/buttoncontrol.inc
   $0040AE56
   $004EDBEF  TWINCONTROL__WNDPROC,  line 5298 of ./include/wincontrol.inc*/
Thea ddress /*$0040D628*/ corresponds to the function Reallocmem 
function used to get the memory block

Problem is that I need to debug a complicated package which leaves a lot 
of memory leaks that I have to trace and correct.

Antonio.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20120613/fd32f972/attachment.html>


More information about the fpc-pascal mailing list