[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