New Pointer Explorer


Pharo4 #155 now contains a Pointer explorer build with the Eye Tree Inspector framework:

EyePointerExplorer openOn: #zot

EyePointerExplorer openStrongOn:  #zot

Why is this needed?

Currently we still use a sub lass of ObjectExplorer for the PointerExplorer, which means that we can remove the whole package
Tool-Explorer now that we have one based on the new inspector.

Next step?

- put the new tool as the default (and unify Smalltalk tools strongPointerExplorer with pointerExplorer)
- remove package Tool-Explorer (ca. 700 Loc, 6 classes)

Class comment:
A variant on the TreeInspector that works "backwards".

By default it shows both weak and strong references (#openOn:) but I can be configured to omit weak refs with #openStrongOn:

Like the TreeInspector, it shows a tree of objects, but expanding a node won't show the objects which that node references, but rather the objects that reference that node.  Its main use is to track down memory leaks: if you want to know why a particular object is still alive, open a PointerExplorer on it and drill down until you find the root object that's referencing it.  For example, find all the references to the symbol #zot with:

EyePointerExplorer openOn: #zot

For the "name" of the object, the PointerExplorer shows each object's identityHash, to allow the user to identify when two similar objects are identical and notice cycles.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: