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 :-) > 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. -- 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 >
