Squeak SmalltalkJoker Squeak Smalltalk : Tools Tricks Usage : prevnext Garbage Collection Chase Pointers Manually

Using Behavior>>allInstancesDo:, Object>>someObject, 
ProtoObject>>nextObject, and ProtoObject>>pointsTo:, it is possible to 
compute the transitive closure (as a graph) of all the objects that 
reference a particular object (such as BitMap.)  Careful anaylysis of 
the object reference graph of the mystery BitMaps should enable you to 
figure out why they are strongly referenced, and so not being garbage 
collected.

Perhaps a utility for this purpose already exists for Squeak.  It does 
for VisualWorks.

--Alan

--

Select "self" in your inspector and open the context menu. Choose 
"chase pointers". This will show you the path from Smalltalk (the 
system dictionary) down to your object.

If it's blank, select "self" and choose "objects pointing to this 
value". You'll have to chase these pointers manually until you find 
what's hanging on to your object and then kill it.

- Bert -