Introducing the Glamorous Debugger for Smalltalk (alpha)

Over the last following days, Andrei Chis and I have worked on getting the Glamorous Debugger for Pharo in a usable state (based on the original effort of Toon Verwaest).

This debugger is part of the Glamorous Toolkit project, and it is based on the Glamour browsing engine. The goal of this project is to provide the infrastructure for new types of debuggers.

When loaded, the debugger installs as a new button in the small debugger.

The goal is to provide the possibility of having the GTDebugger next to the classic debugger until the inevitable errors are ironed out. When choosing to debug glamorously, you get into the GTDebugger.

At this point, the debugger mostly mimics the classic debugger. However, it does it with the long term goal of reinventing what debuggers can be.

Currently, there are two interesting characteristics:

  1. It has an integrated inspector that shows all variables in one GTInspector. There are two benefits:
    • you can see all relevant variables and their value at one glance
    • you can inspect the current context in place using the finder like navigation
  2. Code-wise, the debugger comes with an explicit model that relies neither on the old Debugger nor on the CodeHolder. The model is rather small and intelligible. In total, the entire code totals 399 lines of code (at the moment). To put it into perspective, the Debugger class alone has 1096 lines of code (not counting the extra code used by it).

We consider the code to be in a solid alpha, and we need more eyeballs and clicks to test it.

If you are interested in playing with it, you can either find it in the Moose image, or you can load it in Pharo 1.4 via:

 Gofer new
 squeaksource: 'glamoroust';
 package: 'ConfigurationOfGlamoroust';
 load.
(Smalltalk at: #ConfigurationOfGlamoroust) loadDevelopment
Posted by Tudor Girba at 25 November 2012, 1:11 am with tags demo, moose link
|