[Pharo-project] Breakpoints (was [OT] Great job guys)

Igor Stasenko siguctua at gmail.com
Wed Jan 14 04:57:48 EST 2009


2009/1/14 Marcus Denker <denker at iam.unibe.ch>:
>
> On 13.01.2009, at 15:51, Igor Stasenko wrote:
>
>> 2009/1/13 Marcus Denker <denker at iam.unibe.ch>:
>>>
>>> On 09.01.2009, at 16:19, Stéphane Ducasse wrote:
>>>
>>>> one of the point about breakpoint is that they should not get the
>>>> method dirty.
>>>> I know that some breakpoint code has been harvested but I do not
>>>> remember how
>>>> to use it.
>>>>
>>>
>>>
>>> There is a very simple breakpoint mechanism in Pharo (in Squeak, too,
>>> but
>>> it was a bit broken there).
>>>
>>> To try: There is a "toggle break on entry" item in the menu of
>>> methods
>>> in the
>>> old browser.
>>>
>>> Technically, this just recompiles the method with a call to #break at
>>> the beginning.
>>>
>>
>> is it better than doing a trick with method dictionary, as i showed
>> in example?
>
> I did not check your example... but it sounds that it is at least as
> good. Maybe the
> source-manipulation was done to later support breakpoint anywhere in
> the code (not only
> the beginning)

well, i don't see a need in inruding into a source code anyway.

For breaking in the middle of method, one can do following:
- intercept entry to a method (in a way like i doing)
- step bytecodes manually and break if IP equal to designated value
where breakpoint is set.
similar to what debugger does, if i'm not mistaken.

A more easy to implement could be a breakpoints like 'break at seding
a message #xxxx from given method'
this can be done by replacing selector #xxxx in given method with
special #breakHerePlease
and implement  #breakHerePlease method properly.


>
>        Marcus
>
> _______________________________________________
> 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