An OmniBrowser Debugger?

The Squeak debugger (1396 lines of code) is hard to understand and impossible to extend. The OmniBrowser framework is powerful and enables one to build extensible meta-driven browsers. Yesterday evening I thought that it would be the time to bring the two things together:

obdebugger.png
http://source.lukas-renggli.ch/omnibrowser.html

The screenshot shows an initial prototype of an OmniBrowser based debugger (237 lines of code). It provides all the functionality of the original debugger, with the exception of the inspector panes that I personally don’t find that useful anyway (this is an excuse for not having implemented them).

Did I already mention that this debugger can be easily extended with new functionality? What about capturing a continuation at every step to have a back button like in the web browser? The possibilities are endless ...

Posted by Lukas Renggli at 26 April 2007, 10:30 am with tags squeak, omnibrowser link

Comments

Mathieu Suen and I tried that too. We decided we didn’t had enought knowledge to do it immediately. http://www.squeaksource.com/NewDebugger.html

It’s very cool you did it. However, the inspector panes are really important (at least to me). And the VW panes are very cool too. Do you have some more free time? :-)

Posted by Damien Cassou at 26 April 2007, 5:51 pm link

What is the difference between source.lukas-renggli.ch and mc.lukas-renggli.ch?

Posted by Damien Cassou at 26 April 2007, 5:53 pm link

Lukas, you’re my hero. But it definitely needs inspector panes. As a compromise, how about buttons that make it easy to pop up external inspector windows for the context and the receiver?

Posted by Avi Bryant at 26 April 2007, 7:15 pm link

I would prefer in-line panes but I know OB is not really meant for that kind of thing.

Posted by Damien Cassou at 26 April 2007, 8:49 pm link

Thanks for all your comments.

Damien, I didn’t know that you and Mathieu started to do the same. Maybe you want to continue on my code, now that I have a working version? I started to refactor my code and put it together with the inspector framework into a package called OB-Tools. This way it can completely replace legacy Squeak tools. There is no difference between source.lukas-renggli.ch and mc.lukas-renggli.ch, these are just aliases.

Avi, I agree that the inspector panes would be very useful. Maybe I can embed two OB-Inspectors into a custom pane at the bottom of the browser? The latest version (I don’t remember if I published the code yet) already has a menu to open external inspectors on context and receiver.

Posted by Lukas Renggli at 26 April 2007, 10:05 pm link

VW panes are really cool too. They provide information about the current code being executed: what are the values of parameters being passed to the current method call, what is the return value of the selection... You then don’t have to manually select and press CTRL+p to see the result of the current expression. It’s also useful for side-effect method calls.

Posted by Damien Cassou at 27 April 2007, 9:00 am link