2012/6/13 Martin <[email protected]>: > But, from looking at the assembler code, it seems that it does not setup a > stackframe as other code does. I **guess** the stuck dumpng code has a > problem with this minimal frame.
If it omits the stackframe then something (probably the RTL) was compiled with optimizations turned on. I can reproduce it too with default settings but here are three simple steps how to get a complete backtrace: * build FPC (including all of RTL) with make clean all OPT="-O- -gl" and then install it to where it belongs in your setup, make sure Lazarus will use it. * put this into the "configure build Lazarus" -> "Options" field (at the end of the line) -O- -g1 * uncheck all optimizations in your project, check the -gl option. Then compile your project. The very first compile will take a while because it will now automatically also rebuild all LCL with the new compiler and the new settings, then start your application, here is what I get (previously I got the same output like already posted, now I get this): bernd@t40:~/Desktop/testus\ $ ./project1 Heap dump by heaptrc unit 1204 memory blocks allocated : 1569116/1572328 1203 memory blocks freed : 1569100/1572312 1 unfreed memory blocks : 16 True heap size : 622592 True free heap : 625744 Should be : 622512 Call trace for block $B77AE6A0 size 16 $0807391A REALLOCMEM, line 317 of /home/bernd/lazsvn/fixes_2_6/rtl/inc/heap.inc $08099450 TFORM1__BUTTON1CLICK, line 37 of unit1.pas $081F822E TCONTROL__CLICK, line 2734 of ./include/control.inc $0821E2AF TBUTTONCONTROL__CLICK, line 56 of ./include/buttoncontrol.inc $0821EA06 TCUSTOMBUTTON__CLICK, line 175 of ./include/buttons.inc $0821F061 TBUTTON__CLICK, line 355 of ./include/buttons.inc $0821E1DA TBUTTONCONTROL__WMDEFAULTCLICKED, line 26 of ./include/buttoncontrol.inc $0806E77D TOBJECT__DISPATCH, line 592 of /home/bernd/lazsvn/fixes_2_6/rtl/inc/objpas.inc It seems (and this was new to me too) that -O1 is not enough to stop it from optimizing the stack frames, it really must be -O- (I always thought this only happens in O2 or higher but it happens in O1 already). -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
