I decided one afternoon that it might be a laugh to take a look into the guts of Firefox extension writing. It seemed most of the cool kids were at it, so I thought why not.
After creating a new profile to work off of (so I didn't send the entire application TOA if I went seriously wrong), some initial wrestling with the concepts behind the system, and getting somewhat flustered by the quality of many of the tutorials I found for Firefox 1.5 (the official Mozilla paper pretty much assumes that you're already familiar with the old <1.5 system), I pretty much got my head around that much, so it was time to start writing scripts. And I soon learned that I was going to need a little help.
I had heard of the Venkman debugger for Mozilla, so I took a quick peek around to see if I could find one for Firefox. And thankfully, Mozilla had done some work on it, though they seem to have since lost favour of it. The project has been adopted by Robert Ginda and moved to a new home, and this work continues to be recognised by Mozilla as the official branch.
There hasn't yet been a version for FF 1.5 over at the new homestead, however. The last update was February 2005. But a port has been made by yet another third party (one of the great joys of OSS, trying to keep up with all the ports, branches and forks). Its just Ginda's last stable build with the few modifications made to get it working under 1.5.
Getting to know Venkman
I fired up the debugger and took a look at the GUI I got. Pretty much straight away I was dumbfounded. I had never come across a debugger with so much to it graphically, all I had ever been used to before was a simple white box with text scrolling up it. Thankfully that was here too, except it was black.
Help was at hand, with a useful tutorial written by Svend Tofte showing me the ropes. Unfortunatly, the tutorial doesn't deal with getting Venkman to peek inside your extension code, so that was the next port of call.