Oh yes, this is essential part of “working with objects”. No?

On 02 Sep 2014, at 21:37, Max Leske <maxle...@gmail.com> 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 <b...@openinworld.com> 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>
> 
> 


Reply via email to