referenced by <root>

Use this forum for questions on how to use .NET Memory Profiler and how to analyse memory usage.
Post Reply
Posts: 1
Joined: Thu Mar 09, 2006 4:05 pm

referenced by <root>

Post by Claudiob » Thu Mar 09, 2006 4:22 pm

We are investigating in on a memory leak in one of our applications.
Looking at the snapshots, in the "instance detail" section we notice that many instances of an object appear to be directly referenced by <root> (and other objects that I'm aware of).
The "<root>" also appears alone in the "Root Path" panel (but it appears only if I leave the "only include identified roots" checkbox unchecked).

Do you know how to interpret that? I supposed it was due to direct reference of the object from, for instance, static field & C., but I couldn't find any.

Any suggestion?

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Post by Andreas Suurkuusk » Thu Mar 09, 2006 8:08 pm

If the profiler fails to identify the root of an instance, the root is presented as <root>. Normally the profiler is able to identify static fields, so the instance is probably referenced by some other root.

Examples of roots that the profiler fails to identify are:
  • Internal roots of the runtime
  • Weak references
  • Thread static variables
  • The finalization queue
  • COM wrappers
For more information, see the post "Why are some roots not identified?"
Best regards,

Andreas Suurkuusk
SciTech Software AB

Post Reply

Who is online

Users browsing this forum: No registered users and 29 guests