[DUG] Memcheck

Sean Cross - CRM sean.cross at crm.co.nz
Thu Dec 1 11:34:13 NZDT 2005


Try minimising and restoring your app to see if that makes a difference.  It seems to be a windows issue where the working set gradually increases as you allocate and deallocate memory.  Doing a minimise causes windows to compact the working set.  I believe that windows will also do this if memory pressure gets too great.

I get the same thing where one app gradually gets up to about 40meg usage.  Minimising and restoring reduces it to  4meg.

Regards

Sean
-----------------------------
Sean Cross
Systems Development

CRM
PO Box 230
Napier
Phone:   06 835 5868
Mobile:  021 270 3466
Email:   sean.cross at crm.co.nz


 

> -----Original Message-----
> From: delphi-bounces at ns3.123.co.nz 
> [mailto:delphi-bounces at ns3.123.co.nz] On Behalf Of John Bird
> Sent: Thursday, 1 December 2005 11:27 a.m.
> To: 'NZ Borland Developers Group - Delphi List'
> Subject: [DUG] Memcheck
> 
> As a relative newbie I put memcheck in my biggest program, 
> which has about
> 10-12 forms.  The app does the Delphi default of creating 
> them all at the program start, I am happy with this as it is 
> perfectly fast enough, and anyway I expect them to be shown 
> and closed repeatedly - the program does form.show and 
> form.close as it uses the forms as they get opened and closed 
> repeatedly, often returning to just the main form open.
> 
> I have noticed in Task Manager and process explorer that the 
> memory usage of the program does gradually increase as I open 
> and close forms repeatedly, so I assumed, OK I am doing 
> something wrong and should track it down.  On putting 
> memcheck in the program (add to uses, add memchk after begin 
> in the DPR, tick all the compiler and linker options) I ran 
> it, watching the memory increase from 4MB to 6MB as I opened 
> and closed all the forms a few times, then looked at the log 
> which looks like:
> 
> MemCheck version 2.73
> 
> Total leak: 0 bytes
> 
> 
> *** MEMCHK: Blocks STILL allocated ***
> 
> *** MEMCHK: End of allocated blocks ***
> 
> 
> *** MEMCHK: Chronological leak information ***
> 
> 
> *** MEMCHK: End of chronological leak information ***
> 
> 
> *** MEMCHK: Blocks written to after destruction ***
> 
> 	Bad blocks count: 0
> 
> 
> *** MEMCHK: End of blocks written to after destruction ***
> 
> 
> So which is right?  If there are no leaks why does the memory 
> used go up gradually even as I return the original starting form??
> 
> John
> 
> 
> 
> -----Original Message-----
> From: delphi-bounces at ns3.123.co.nz 
> [mailto:delphi-bounces at ns3.123.co.nz] On Behalf Of Wayne Roser
> Sent: Thursday, 1 December 2005 7:13 a.m.
> To: NZ Borland Developers Group - Delphi List
> Subject: Re: [DUG] app terminating abruptly
> 
> 
> PLUG FOR MEMCHECK
> MemCheck is wonderful. As soon as I start every new app, I 
> make the bottom of the main unit look
> like:
> 
> initialization
>   memchk;
> end.
> 
> As Kyley says, put
> uses
>   Memcheck, 
> 
> and the path to the folder containing memcheck source in your 
> default project search path. Mine looks like: C:\Program 
> Files\Borland\Delphi6\Imports\Memcheck
> 
> Don't (like me) forget Kyley's note:
> Make sure Stack is turned on in compiler options etc, and 
> td32 debug info to get relevant information.
> 
> REASON FOR DETAIL
> I put these little details in because I remember being a 
> newer newbie than I am right now and, you know, there might 
> be a newer newbie who, like me, watches this list and wonders 
> if there'll be anything really simple popping up. If you have 
> an embarassingly simple question out there, email the list so 
> that I can learn from the answers too. Ooo, I feel so 
> self-conscious baring my soul to an email list. Betcha I'm 
> gonna regret this. Note to self:
> pull head back in.
> 
> MAIN THING ABOUT MEMCHECK
> But the main thing is to get memcheck in early. Anyone else 
> felt the pain?
> Chuck it into some app that you've been developing for years, 
> the prototype that you've never quite got around to 
> rewriting, <insert own example here>, and it'll probably 
> bring tears to your eyes. Quite a good way to get you to 
> start on a rewrite from my (meagre) experience.
> 
> Wayne Roser (not real name, really Dusan Slopovic, because 
> pen name make more anonymous)
> 
> NZ Borland Developers Group - Delphi List 
> <delphi at ns3.123.co.nz> on Wednesday, 30 November 2005 at 5:55 
> p.m. +0000 wrote:
> >Not yet.  I haven't had time to work out how to use it yet.  
> So far the 
> >HandleMessage in the DLL routine seems to have resolved it, 
> but if not 
> >then I'll try memcheck.
> >
> >----- Original Message -----
> >From: "Kyley Harris" <kyleyharris at gmail.com>
> >To: "NZ Borland Developers Group - Delphi List" 
> <delphi at ns3.123.co.nz>
> >Sent: Wednesday, November 30, 2005 3:36 PM
> >Subject: Re: [DUG] app terminating abruptly
> >
> >
> >Have you run memcheck yet?
> 
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz http://ns3.123.co.nz/mailman/listinfo/delphi
> 
> 
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
> 
> 



More information about the Delphi mailing list