Re: Memory Leak?

Marc Brooks <[email protected]>
Newsgroups gmane.comp.windows.devel.dotnet.advanced
Message-ID <[email protected]>
You should NEVER be calling GC.Collect.  For that matter, you really
shouldn't ever code for DoEvents.  Rather, do whatever it is you need
to do in a loop in a separate thread from the UI.  If I had more idea
who was calling this method, and who was changing the global
variables, then I could give better advice.

On Mon, Dec 1, 2008 at 17:43, Dave Vorgang
<[email protected]> wrote:
> I changed it to:
>        Do
>            System.Windows.Forms.Application.DoEvents()
>            Thread.Sleep(55)
>            GC.Collect()
>        Loop Until _KeyEntered >= 0
>
> This helped but it still increased Mem Usage as time went on.
>
> Any help on fixing this would be greatly appreciated.
>
> Thanks,
>
> Dave Vorgang
> Senior Programmer / Analyst
> Medford School District - Information Technology
> (541) 842-1021
> mailto:[email protected]
>
> -----Original Message-----
> From: Discussion of advanced .NET topics. [mailto:[email protected]] On Behalf Of Mark Hurd
> Sent: Monday, December 01, 2008 3:16 PM
> To: [email protected]
> Subject: Re: [ADVANCED-DOTNET] Memory Leak?
>
> On Tue, Dec 2, 2008 at 9:38 AM, Steve Johnson <[email protected]> wrote:
>> Likely, the problem is recursion.  Each call to DoEvents pumps messages,
>> which causes your VREADFIELDS function to be called from within itself.
>> Each call allocates another stack frame.  You'll eventually run out of stack
>> space and crash with a StackOverflowException.
>
> I agree that it is not due to the code sample provided in isolation.
> Whenever we need an idle loop we use a similar loop (with Sleep(55)),
> and when it is worth suggesting we know it would be a good time to do
> a GC.Collect we include that too.
>
> Regards,
> Mark Hurd, B.Sc.(Ma.)(Hons.)
>
> ===================================
> View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives
>
> ===================================
> View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives
>



-- 
Marc C. Brooks
http://musingmarc.blogspot.com

NOT sent from an iPhone

===================================
View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.