GetFirebug logo

Firebug 1.0

Firebug 1.0 vs Web 2.0

Fix eval()

Example code, dynamic Javascript eval

//  Load the code dynamically
var req = new XMLHttpRequest();
req.open('GET','payloadCatsAndDucks.js', false);
req.send(null);
eval( req.responseText );  // line 23

//  Now use the code
prod( new duck() );
prod( new cat() );
prod();  // call point of error

eval() in Firebug 1.0

//  Load the code dynamically
var req = new XMLHttpRequest();
req.open('GET','payloadCatsAndDucks.js', false);
req.send(null);
eval( req.responseText);  // line 23
                                       function prod( animal) { // line 24
//  Now use the code                       animal.say();
prod( new duck());                     };
prod( new cat());
prod();  // call point of error        var duck = function() {
                                          this.say = function() {
                                             dump('quack\n');
                                          };
                                        }
                                        var cat = function() {
                                          this.say = function() {
                                              dump('meow\n');
                                          };
                                        }

The eval() code looks overlaid on caller

Fix eval()

Firebug 1.1.0 beta

Demo time

Firebug 1.1.0

Firebug 1.2

Beyond 1.2

Beyond 1.2

Chromebug: Firebug for Chrome

Beyond 1.2

More ambitious features

Firebug 2.0

Logisitics: status

Logisitics: dual track?

Firebug 1.1.1

Would be nice, but its not practical now

Logisitics: multi-track?

Firebug 1.2feature1a

Logisitics: release

Call to action