On Thu, Apr 8, 2010 at 11:41 AM, Can Gencer <cgen...@gmail.com> wrote:
> I did my debugging like this..
>
> I set up a url such as http://server/gc where if you would go there it
> would call GC.Collect() and GC.WaitForPendingFinalizers() a few times
>
> Then did a few requests, and call the GC url and use windbg with
> !dumpheap -stat and write down the number and size of the largest
> objects. Do a few more requests, call the GC url again and use windbg
> again with the stat, and then use !dumpheap -mt to get all instances
> of the type that is growing in size most, and then randomly call
> !gcroot on some to find where the reference is being held.

That's pretty much what I did as well. Most of the objects were
strings, byte[]s, dictionary buckets - stuff that's used just about
everywhere. Trying to get a meaningful set of !gcroot samples from
amongst 125 000 dictionaries manually is a bit difficult :|.

My hope is that somewhere in that list there is an object that leaks 1
instance per request, so that I can match it up with the number of
requests, and work from it to figure out what's going on.

- Jeff
_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to