Firebug 1.7: Mozilla Backend

From FirebugWiki

Revision as of 13:57, 5 November 2010 by Honza (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Mozilla back-end represents an adapter between V8 like protocol and Mozilla JSD. This adapter lives in Firebug and implements BTI interface. This adapter should replace firebug-service in Firebug 1.7.



Implementation Details

Corresponding BTI objects:

  • BTI.BrowserFirebug firebug.js
  • BTI.CompilationUnitFirebug.SourceFile sourceFile.js
  • BTI.StackFrameFBL.StackFrame lib.js
  • BTI.BreakpointFirebug.Breakpoint breakpoint.js
  • BTI.BrowserContextFirebug.TabContext tabContext.js
  • BTI.JavaScriptContext → ?


What is the JavaScriptContext in the context of Firebug architecture? Can you describe relations among BTI objects?

Test Cases

Exploration of some real world scenarios that happens when debugging a web application. These scenarios describe in-process usage of the firebug-service through a BTI adapter. The basic concept is as follows:

Firebug UI (Script Panel) → BTI → FBS → JSD

Where is Firebug.Debugger in this concept?


Connect to the browser.

Get Contexts

Get list of all available contexts in the connected browser.

Compilation Unit

Get list of all compilation units for given context.

Get Source

Get source code (range) for given compilation unit.

Set Breakpoint

Set a breakpoint in given compilation unit.


Where the list of compilation units is stored?

What is the event/callback that allows to collect all compilation units?

Get Stack Trace

Get stack trace (aka backtrace) when a breakpoint hits.

Debugger Step

Perform a debugger step (step over, step into, continue)


Disconnect from the debugger

Personal tools