Comments
3 comments
-
Hi,
very pleased to hear you are finding the upcoming V5 of so much use.
Regarding your question -
it certainly sounds as if the remaining objects are on the Finalizer queue. There's a checkbox in the Object Retention Graph which we use to hide (in order to help reduce noise) any objects on the Finalizer queue. Unchecking this will show you the full object graph with finalizer GC roots.
When you get to the stage you describe with the 1 instance - I would go to the class list with the remaining 1 instance listed. Highlight the row. Now, without having done any other actions in your application take another snapshot.
This will automatically force another GC. If I've understood correctly what you should see is that this remaining instance then gets removed and the instance count will be 0. You could also adapt your code as well to help test this out by calling System.GC.Collect at the right place.
Does that help you?
Stephen -
Beauty - worked just liked you said. Instance disappears. This tool rocks. Where do I send the check for v5?
-
You can send the cheque to me! I'll PM you my address.
Really glad you are finding it so helpful. Sounds like the memory problem with your application has been solved. Awesome.
Any more feedback regarding features or just flat out praise then feel free to drop us a post or an email at any time.
Stephen
Add comment
Please sign in to leave a comment.
In my winforms application, each "form" is actually a usercontrol that is placed in a panel. When the user selects a menu item, the current "form" is removed from the panel and explicitly disposed before newing up the next usercontrol and adding it to the panel's controls collection. However, after disposing the usercontrol was still a live object. Using Ants 5, I was able view the object retention graph to determine what was holding on to the usercontrol. All good. However, I see now that there is still a live instance but the object retention graph shows no references and it is not a GC root. I understand that this is because all of the references are still on the finalizer queue, right? Is there a way to force GC so that these objects on the finalizer queue will actually go away and my instance will then?
Thank you.