|
 |
I forget who suggested this, but I have a Firefox extension named
Firebug installed on my work PC. This allows me to do several rather
interesting things. And utterly fails to allow me to do several other
things.
I mainly use it for looking at the document tree. Firefox itself will
only show you the text it loaded from disk. If you use the DOM to modify
the document, there is *no way* to discover what Firefox is actually
rendering. To my great relief, Firebug offers a way to see what the
document tree looks like *now*, not when it was first loaded. So I can
see whether my scripting has built the correct document tree or not.
It also appears to have some facilities related to tracking down
complicated style cascades, which I shall probably never need to use, ever.
A couple of days ago, I discovered that it has a JavaScript debugging
feature. Now that sounds quite useful, but unfortunately it doesn't
appear to actually, you know, *work*.
- There's a button you can press that makes it so that next time a
script runs, it immediately pops up in the script window. Unfortunately,
pressing "step into" has the effect of "step over" approximately 85% of
the time. This is the utter height of uselessness. Click a button and it
says "this would cause Foo() to run". So you click "step into"... and it
steps *over* Foo(), without showing you what's happening. Very helpful.
- As far as I can tell, breakpoints don't work. Like, I have a button
that runs Bar() when you click it. So I put a breakpoint on Bar(), and
click the button. The script runs, but no breakpoint. Again, very helpful.
- It seems Firebug is unable to handle function calls where the function
to be called is not statically known. For example, if there's a Foo()
function defined, and you do
Foo(5);
then you can step into Foo(). However, if instead you do
var Bar = Foo;
Bar(5);
then Firebug apparently has *no clue* what function you just called.
This is extremely limiting when you consider that my entire application
is fundamentally based on this type of thing.
I wonder if any of this is likely to be fixed anytime soon?
Post a reply to this message
|
 |