
Signature
Justin Rogers
DigiTec Web Consultants, LLC.
Justin, Jon thanks a lot for replying
I do call GC.Collect() on some place, my application is a race software so I
call GC.Collect() after unloading a race or loading a new race. This was in
the old version as well as in the new version. The problem is also that the
software takes a huge amount of memory at startup, and the system runs out
of virtual memory after 15 minutes, with no other programs running.
Jon was saying that I may be using some unspecified behaviour. I believe
that all methods I call from the .NET class library are documented and I use
them as indicated in MSDN. I also checked the breaking changes in version
1.1, and none of them affects my program.
But one of the assemblies in the application is built using a dll generation
tool that I made using System.Reflection.Emit, originally the dll was
generated using .NET version 1.0, but I recompiled my tool with 1.1 and
generated the assembly again to use 1.1
Although it was not my intention to protect the code in the generated
assembly in any way, but all decompilers that I know of can't decompile my
assembly, because I optimise the IL code in a different way than the C#
compiler, yet I still use well documented IL instructions.
Also, the software is working very good on my development machine, with 1GB
RAM, and it runs for days very good. But I need to make it run on 256MB and
128 MB machines, and it did very good with .NET ver 1.0
Sorry for the long problem description.
And Thanks a lot for your help
Best Regards
Sherif
> There are some undiagnosed issues where a machine with a rather large amount
> of system memory can cause the GC to heuristics to not kick in in time to
[quoted text clipped - 23 lines]
> > demonstrates the problem, or used a profiler to try to work out where
> > the heap is being used?
Jon Skeet - 29 Aug 2003 18:37 GMT
> Jon was saying that I may be using some unspecified behaviour. I believe
> that all methods I call from the .NET class library are documented and I use
> them as indicated in MSDN. I also checked the breaking changes in version
> 1.1, and none of them affects my program.
What I meant was that you may be, say, not disposing something that you
should be disposing of, or something similar.
As I say, a profiler is probably your best bet at the moment, so you
can find out what instances are eating up your memory.

Signature
Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet/
If replying to the group, please do not mail me too