Hi Pavel, This would have helped us to track that evil object years ago (remember the name???) hahaha. Anyway, do you think it's worth an integration of this to http://smalltalkhub.com/#!/~BenComan/PointerDetective ??
Best, On Tue, Apr 19, 2016 at 10:44 AM, Pavel Krivanek <[email protected]> wrote: > Hi, > > when we were trying to fix memory leaks in the system in last weeks, it > was very handy to create a small tool that shows a shortest path of > backward references from one object to another one. Our tool is named > RefsHunter and you can find it in the Catalog of Pharo 5. > > You can use Gofer if you want to load it without tests to the minimal > Pharo: > > Gofer new > smalltalkhubUser: 'PavelKrivanek' project: 'RefsHunter'; > package: 'RefsHunter-Core'; > load. > > The RefsHunter creates a temporary snapshot of all objects in the image > and then collects information about all non-weak backward references. After > that you can ask on the shortest path from one object to another one. That > is useful for example when you still have got some leaking instance in the > image and you want to see how is it linked with the global space. > > Example: > > | rh | > rh := RefsHunter snapshot. > rh wayFrom: (Array>>#asArray) to: Smalltalk specialObjectsArray. > > Notice that this tool is very memory demanding and it is not good idea to > make a new RefsHunter snapshot when you still have some previous snapshot > in the object memory. > > Cheers, > -- Pavel > -- Mariano http://marianopeck.wordpress.com
