Say I have the following code:
var f1 = function (a) {
return f2(a + 1);
};
var f2 = function (a) {
return f3(a + 1);
}
var f3 = function (a) {
console.trace();
};
f1(5);
I am doing a console.trace in f3 and this is what the Console is displaying:
My question is, why is Firebug displaying anonymous instead of the function names during the trace?

Rewrite it like this to name your functions instead of using anonymous functions:
See this page for a good description of the differences between the two syntaxes.