Illumination for Developers offers great features for lower level libraries like Ext Core and jQuery, but really shines for its support of abstract design patterns found in the likes of ExtJS, SproutCore, qooXdoo, Dojo Toolkit, EmberJS, and Backbone.
This trial version gets unlocked when purchasing from the home page, accessible from a buy button found inside the extensions Firebug panel.
Illuminations presents the framework objects in a smarter way. It recognizes what they are and shows the whole name, like "Ext.DataView" instead of "Object" in the console and the other Firebug panels. And instead of random properties being appended, it looks for a ID-ish and a Value-ish property to show. This gives you an idea what you are looking at when you are debugging. See the example without and with Illumination in the screenshots above.
Now, when you hover the mouse over the Ext.DataView above, it will highlight the component on the page. In the case above, the coder didn't give a descriptive itemId or name, so hovering over it does the trick -- it shows you exactly what that object is all about. This works for Ext Components and for Ext Elements. It even works for Ext Composite Elements -- it highlights all of its nodes on the page!
When you right click on an element in Firefox, Firebug adds an "Inspect Element" menu item to open Firebug and bring you to that element in the HTML panel. Illumination does the same sort of thing, but tries to find the best match: ideally some sort of UI widget, else an Ext Element.
There is a new panel added to Firebug called Illuminations, and when you use the contextual menu above, this is where it brings you. The Illumination panel is the place to inspect ExtJS objects: Widgets (usually derived from Ext.Component, but not always), Data (Ext stores, records, fields), and Elements (Ext.Element and its brethren). These views show the hierarchical structure of your code:
It really takes some playing around with all of the above to get a feel of how useful and fun debugging can be again.Try this example page and look at the DataView, and generally browse around. You can click on a data store and look at the records in the Records side panel!
Other side panels include Properties (sorted by the object that defined the property) and Methods. See what Events are connected. There is even a Docs side panel that will bring up documentation for the widget you are looking at! And the full array of DOM related side panels showing you where in the DOM the component is at, that DOM element's CSS, etc.