On Sun, May 6, 2018 at 5:44 PM, Marcos Douglas B. Santos <m...@delfire.net> wrote: > On Sat, May 5, 2018 at 11:51 AM, Michael Van Canneyt > <mich...@freepascal.org> wrote: >> >> >> On Sat, 5 May 2018, Marcos Douglas B. Santos wrote: >> >>> I'm using fpWeb in standalone mode (fphttpapp unit) to develop and debug. >>> I would like to see the heaptrc log in the end, as we can do in normal >>> desktop applications. >>> >>> So, in one route I create an object and don't release it to simulate a >>> memleak. >>> >>> I've tried to set heaptrc.SetHeapTraceOutput('log.txt'). The app >>> creates the file, but there is no log there. >> >> >> This is definitely necessary. >> >>> >>> I've tried to execute using F9 IDE and by command-line too. >>> I think the problem is that we need to kill the server (Ctrl+C) and, >>> because that, no log is created. >>> >>> So, how can I see the log? >> >> >> Create a call that calls Application.Terminate. > > Michael, > > I believe there is a memleak but I couldn't found. > I've just created a route that calls Application.Terminate and I got this: > > ===BEGIN=== > Heap dump by heaptrc unit > 387 memory blocks allocated : 18658/19944 > 385 memory blocks freed : 18626/19912 > 2 unfreed memory blocks : 32 > True heap size : 196608 (96 used in System startup) > True free heap : 196320 > Should be : 196352 > Call trace for block $034CA470 size 16 > $0042D3C1 > $00438926 > $004375AA > $00437268 > $004265FB > $BAADF00D > $BAADF00D > $BAADF00D > Call trace for block $034CA410 size 16 > $0042CE3B > $0042D3C1 > $00438926 > $004375AA > $00437268 > $004265FB > $BAADF00D > $BAADF00D > > ===END=== > > > Here is my test program: > > ===BEGIN=== > program demo; > > {$define STANDALONE} > > uses > SysUtils, > httpdefs, httproute, > {$ifdef STANDALONE} > fphttpapp, > {$endif} > {$ifdef FCGI} > fpfcgi, > {$endif} > IniFiles; > > {$ifdef STANDALONE} > procedure TerminateCallBack({%H-}ARequest: TRequest; {%H-}AResponse: > TResponse); > begin > Application.Terminate; > end; > > procedure ConfigureStandalone; > begin > heaptrc.SetHeapTraceOutput('log.txt'); > heaptrc.GlobalSkipIfNoLeaks := True; > heaptrc.HaltOnError := False; > with TIniFile.Create('demo.ini') do > try > Application.Port := ReadInteger('Standalone','Port',8080); > finally > Free; > end; > HTTPRouter.RegisterRoute('quit', rmAll, @TerminateCallBack, True); > end; > {$endif} > > begin > {$ifdef STANDALONE} > ConfigureStandalone; > {$endif} > Application.Initialize; > Application.Run; > end. > > ===END=== > > My environment is: Lazarus 1.8.3 r57764 FPC 3.0.4 i386-win32-win32/win64 > > Best regards, > Marcos Douglas
Michael, Would you want that I open a issue for it? Regards, Marcos Douglas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal