Brian Schröäer wrote:

> If you could point me to some description of how breakpoints works,
> I'll take a look next time I get too bored and want to waste some
> time ;)

The remote ones work by running part of an irb session at the server and 
part of it on the client. The communication is done transparently via 
DRb. This required a bit of hacking, but in this case the only important 
thing is really that you can use drb_service.evaluate(nil, code) for 
evaluating arbitrary code.

Breakpoints themself just cause an IRB shell to spawn in the current 
context at the current line of code. Some Binding.of_caller magic is 
used for making the interface transparent.

There's a few extensions over that basic principle (assume, being able 
to return a custom value from a breakpoint, getting the source code 
where the breakpoint was triggered and so on), but it's really all not 
too complex.

Feel free to ask if that explanation was not in detail enough for your 
needs. I'd be pleased to help out. I think a good GUI interface like the 
ones you and Jamis did would really be a very nice addition to the 
Breakpoint package. (And also dev-utils, IMHO)