[Pharo-project] The better debugger support by extending an Object protocol

Igor Stasenko siguctua at gmail.com
Mon Sep 7 11:38:35 EDT 2009


2009/9/7 Stéphane Ducasse <stephane.ducasse at inria.fr>:
> good idea!
> We will add that in pharo if you open a bug item ticket.
> Stef
>

I could add it easily. But first we should make a good expertise, if
this change is worth doing.
Because for Object it means a trivial addition of a method, but for
Debugger/Inspector and other tools
this could mean a major refactoring and tracing all calls to printing
methods in order to make sure
that all of them using new message(s). This could be a big amount of work :)

> On Sep 7, 2009, at 5:02 PM, Igor Stasenko wrote:
>
>> Hello guys,
>> i'd like to discuss with you an idea of having a specific methods in
>> Object class for a better and more clever behavior when debugging.
>>
>> For those of you who are using different kinds of proxies, the main
>> problem with them that you should override the #printOn:
>> or #printString methods in order to behave them similar to what
>> original(proxied) object should be,
>> but from other side, especially for debugging purposes, this incurs a
>> major inconvenience, because you often need to differentiate between
>> the real object and object proxy while debugging. Because if proxy
>> behaves similar to proxied object while printing, you can't really
>> make a difference when looking at it.
>>
>> So, i thought that a nice solution would be to extend an Object
>> protocol especially for debugging purposes by adding
>> #debugPrintOn:
>> method
>> and change the debugger to use this message, instead of #printOn: for
>> displaying objects in inspector panels.
>>
>> Here is the default implementation of
>>
>> Object>>debugPrintOn: aStream
>>  ^ self printOn: aStream
>>
>> And, as you may guess, now the proxy could choose to behave
>> differently depending on context.
>>
>> P.S. Maybe i'm missing a point, and there are already the existing
>> good practices how to get around this.. if so, then please tell me.
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project at lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



-- 
Best regards,
Igor Stasenko AKA sig.




More information about the Pharo-dev mailing list