Oh yes, this is essential part of “working with objects”. No?
On 02 Sep 2014, at 21:37, Max Leske <[email protected]> wrote: > You are my hero! I was just complaining about that to Doru at ESUG. This sort > of tool should be part of the standard tool set so please keep on improving > it and we’ll try to convince someone to integrate it :) > > Max > > On 02.09.2014, at 19:40, Ben Coman <[email protected]> wrote: > >> greetings all, >> >> I had an itch to scratch... I find it difficult using the tree list of the >> standard Pointer Explorer to track down why objects aren't garbage >> collected. I always fear I'm not going to notice getting caught in a >> reference loop. So I created a tool presenting an alternative view as a >> directed graph. The graph incrementally builds out from the target object >> as you explore it. Nodes are colourised to help manage complexity. >> >> The attached snapshot is produced from evaluating the following Workspace >> script... >> testObject := 'END5'. >> ref1 := { testObject. nil }. >> ref2 := { ref1 }. >> ref3 := PDTestResource new heldObject: ref2. >> ref1 at: 2 put: ref3. "note the reference loop this creates" >> PointerDetective openOn: testObject. >> >> Now I expect I'm duplicating something done before, but I couldn't find >> anything quickly and it was an opportunity for some goal direct learning of >> Morphic. Thanks to Roassal an option for a spring-force layout is provided. >> That code was copied rather than create a dependency, and might need to be >> rationalized later. >> The code is a bit rough from hacking around learning how to make things >> work, but its functional, so its time to get it out in the open. >> >> For more information please refer to the repository home page... >> http://smalltalkhub.com/#!/~BenComan/PointerDetective >> >> cheers -ben >> <PointerDetectiveExample1.png> > >
