On 01/31/2017 04:02 AM, Pavel Krivanek wrote:
Very nice tool.
I think it cannot find objects pointed only by a stack of some processes
so it may be handy to put them to the global space.

Smalltalk globals at: #Stacks put: ((Process allInstances collect: [:p |
(p suspendedContext) ifNotNil: #stack ]) reject: #isNil)
asOrderedCollection.
(Smalltalk globals at: #Stacks) add: thisContext stack.

You could change the default "from:" object from Smalltalk to the GC root object array. Or, you could create your own object (e.g., Array with: Smalltalk with: ...). The tool finds paths from one object to another and doesn't care what the start object is. If the from: object isn't specified, it defaults to Smalltalk.

As for processes, I think it will find items from suspended processes, as they will waiting in the process scheduler or on some semaphore which will have references. And, the tool will be the current active process so hopefully it isn't causing the memory leak. :)


John Brant

Reply via email to