On Tue, Apr 19, 2016 at 11:08 AM, Pavel Krivanek <[email protected]> wrote:
> > > 2016-04-19 15:53 GMT+02:00 Mariano Martinez Peck <[email protected]>: > >> Hi Pavel, >> >> This would have helped us to track that evil object years ago (remember >> the name???) hahaha. >> > > Dzindzik :-) > That one!!!!! haahahha I checked my emails and ... uff.. that was in 2012 ;) we are getting older haha. > > >> Anyway, do you think it's worth an integration of this to >> http://smalltalkhub.com/#!/~BenComan/PointerDetective ?? >> > > It should be pretty easy. it deserves an attempt. > > Cool! Note that there are many efforts in this area. Please see https://github.com/dalehenrich/obex You can see the reference from there to http://www.smalltalkhub.com/#!/~PierreChanson/RPointerDetective Cheers, > -- Pavel > > >> >> 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 >> > > -- Mariano http://marianopeck.wordpress.com
