FBTrace

From FirebugWiki

Revision as of 21:40, 17 September 2011 by Sebastianz (Talk | contribs)
Jump to: navigation, search
FBTrace

The Firebug Tracing Console (short FBTrace) is used for debugging Firebug and Firebug extensions. It logs all Firebug activities and thereby helps tracking down errors inside the source code.

Contents

Firebug Versions

First of all see how the Tracing Console works with different Firebug versions.

  • Any Firebug release with 'X' in the label e.g. 1.7X has the Trace Console (aka FBTrace) built in.
  • For the final releases up to Firebug 1.7 (without 'X') you need to install a simple extension that brings back the menu item.
  • The Tracing Console is entirely removed from Firebug core since 1.8a1. We are not planning to release 'X' versions anymore. You need to install the FBTrace extension in order to have the console.

Installation

Until Firebug 1.7 FBTrace was bundled together with its alpha and beta versions. To be able to inspect the logs even in the case Firebug is broken (e. g. it doesn't even load itself) and to make the release process easier for Firebug 1.8+ FBTrace was extracted from the Firebug source and is now available as an independent extension. For more information about this step please read the news group thread about FBTrace as well as the blog entry to Firebug 1.8a1.

From XPI

The simplest way how to install the FBTrace extension is to use an XPI we regularly build from the source. Check the releases directory for the latest version.

From Source

You can get the FBTrace source using a Subversion client. To install FBTrace please follow the description of building Firebug from source or place a file named fbtrace@getfirebug.com containing the path to the source code in your Firefox profile directory (for more info on how to do this please read the steps to create a Firefox extension proxy file).

How to open the console

After you installed FBTrace you have the following possibilities to start it:

Firebug

Firebug allows opening of the Tracing Console from the Firebug Menu

  • Firebug Menu > Open Firebug Tracing
  • Firebug Menu > Options > Always Open Firebug Tracing

Trace-console.png

If you want to open the console for Firebug automatically after restart you need to set following preference to true:

extensions.firebug.alwaysOpenTraceConsole

Chromebug

  • Chromebug Tools > Open Chromebug Tracing Console

Trace-console-chromebug.png

If you want to open the console for Chromebug automatically after restart you need to set following preference to true:

extensions.chromebug.alwaysOpenTraceConsole

Tracing from your own extension

You can use the console also from your own extension - Firebug doesn't even need to be installed. All you need is the FBTrace extension.

  • Your extension should create a new preference:
pref("extensions.firebug.DBG_MYEXT", false);
  • extensions.firebug.DBG_ prefix is mandatory.
  • As soon as the preference exists you should see a new option MYEXT in the Tracing Console.
  • Get the tracing service in your code.
Components.utils.import("resource://firebug/firebug-trace-service.js");
var FBTrace = traceConsoleService.getTracer("extensions.firebug");

... and create a log:

if (FBTrace.DBG_MYEXT)
    FBTrace.sysout(string, object);

Options tab

You can control what is logged using the Options tab. The list of options is shown at the FBTrace preferences. Look for them in the Options tab without the *DBG_* prefix. Some of the main options are:

  • To see main errors: ERRORS
  • For problems with breakpoints: UI_LOOP, BP, SOURCEFILES
  • For problems with Console: CONSOLE, ACTIVATION
  • For problems where Firebug UI is acting weird: DISPATCH, ACTIVATION, PANELS

Logging to OS Console

For crashes or hangs where you can't use FBTrace, run the Firefox Console with this about:config preference set to true:

extensions.firebug-tracing-service.DBG_toOSConsole

Background and more info

More details on FBTrace are given at Honza's blog, anything in this wiki page supersedes that original blog post.

Personal tools