Activity overview
Latest activity by flipdoubt
Thanks! / comments
Thanks!
You don't mean the red rectangle with the word "HOT" in it, do you? Because I don't see any red dots. Is there any documentation on this menu item that contains a screenshot? / comments
You don't mean the red rectangle with the word "HOT" in it, do you? Because I don't see any red dots. Is there any documentation on this menu item that contains a screenshot?
What does "Suggest methods to optimize" do?
The Tools menu has a checked menu item "Suggest methods to optimize" that I am curious about. When I search the online docs, I don't get any hits except those in the forums. Where should I go for a...
Thanks for the pointers to the videos, Stephen. I had already watched the two you reference, but I got more out of the Memory profiling a real world application parts 1 and 2 videos. My question concerns my code which resembles the code shown in the LiveSqlWriter.Dispose() method shown around 1:28 into part 2. Setting references to null, as the Dispose() method does (much like mine), might break part of the reference chain and removing event handlers might break more of it. But is setting references to null and unsubscribing to events all we can do?
My project has a main form that launches several child forms, much like the video but even uglier. Thanks to the VS.NET designer, this leaves tons of event handlers holding references to the child form that don't get cleaned up. If VS.NET is gracious enough to hook up events in InitializeComponent, why isn't there an UninitializeComponent that does the opposite? Using the object reference graph to determine whether an object is still "live" makes it seem like there absolutely has to be one. But there isn't, so I have to wonder why. If each object does not set each of its private fields to null, why isn't that a leak? / comments
Thanks for the pointers to the videos, Stephen. I had already watched the two you reference, but I got more out of the Memory profiling a real world application parts 1 and 2 videos. My question co...
How to break the reference chain?
In following the advice in the What to look for in the reference graph article about breaking the references that prevent garbage collection, how does one remove a reference? My first answer would ...
Thanks. I am surprised because of the consistency with which Dispose has not been called on the object I select. I proved the tooltip should say "Dispose() has been called on this object" by showing the object retention graph for one of the parent objects that already had that message.
Even in this version, I think the tooltip should say "Dispose has/has-not been called on this object" for the selected object. If the message is important enough to say about any IDisposable, I contend the inverse is important enough to say about the selected object.
But my original suggestion of marking that for all IDisposables goes one step further. / comments
Thanks. I am surprised because of the consistency with which Dispose has not been called on the object I select. I proved the tooltip should say "Dispose() has been called on this object" by showin...
Hi Stephen, thanks for the reference to that article. I will definitely take a good look at it.
I still do not understand the answer to my question, about how to tell whether Dispose has been called on the selected object in the object retention graph. Since it says "Dispose() has been called for this object" for all objects in gray but not the object in black, am I too assume Dispose has not been called and the tool tip would contain the same message if Dispose had been called?
As a suggestion for future versions, I think the graph itself should contain some indication as to whether Dispose has been called, rather than relegate that to tooltips not always displayed and not transferred to PDF or other export formats. For example, perhaps a garbage can icon with its lid on would indicate Dispose() was called (waiting for the "garbage man" to pick it up) and a garbage can with its lid open would indicate Dispose() was not called (waiting for the user to dispose of trash). / comments
Hi Stephen, thanks for the reference to that article. I will definitely take a good look at it.
I still do not understand the answer to my question, about how to tell whether Dispose has been calle...
Was Dispose was called for the selected object?
I am a new user comparing snapshots and looking at the Object Retention Graph for the object I am interested in. The graph just shows the object and the "No GC roots in current view" message. Unhid...
Thanks. I am a new user liking this product a lot. About to ask another question ... / comments
Thanks. I am a new user liking this product a lot. About to ask another question ...
Profiling Debug vs. Release builds
Does profiling a Debug vs. Release build affect memory profiling results?