New Pointer Explorer

Hi,

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.
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: