Difference between revisions of "Firebug 1.7: Firebug Service"

From FirebugWiki
Jump to: navigation, search
(Resources)
m (Added categories)
 
(2 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
==Resources==
 
==Resources==
 
* [http://getfirebug.com/wiki/index.php/Jsd jsd] page on this wiki
 
* [http://getfirebug.com/wiki/index.php/Jsd jsd] page on this wiki
* JSDoc on getfirebug.com/developer/api
+
* [http://getfirebug.com/developer/api/firebug1.7/ JSDocs]
 +
* [http://getfirebug.com/wiki/index.php/Firebug_1.7:_Mozilla_Backend Mozilla Backend]
  
 
==Objects==
 
==Objects==
Line 19: Line 20:
 
* IntoStepper(debuggr, context)
 
* IntoStepper(debuggr, context)
  
==Interfaces==
+
== Interfaces ==
 
List of JSD interfaces utilized by Firebug debugger.
 
List of JSD interfaces utilized by Firebug debugger.
  
Line 29: Line 30:
 
* jsdIExecutionHook
 
* jsdIExecutionHook
 
* jsdIContext This one is not useful
 
* jsdIContext This one is not useful
 +
 +
== Stepping ==
 +
Stepping in the debugger (over, into, out) is implemented using ''steppers''. These objects behave the same way as the Controller in famous MVC pattern.
 +
 +
 +
=== Step Over: Line Stepper ===
 +
Following diagram depicts how '''step over''' logic is implemented and how ''Line Stepper'' object is involved.
 +
 +
[[File:Step-over.png]]
 +
 +
* All logic associated with the Firebug.Debugger object (onBreak, stop, enterNestedEventLoop and exitNestedEventLoop should be part of Firebug Service (FBS)
 +
 +
[[Category:Firebug]]
 +
[[Category:Firebug Development]]
 +
[[Category:Extensions]]

Latest revision as of 16:44, 21 November 2013

Some notes about firebug-service module analysis in Firebug 1.7

Resources[edit]

Objects[edit]

List of helper objects used by Firebug debugger.

  • fbs: a self reference, to avoid 'this' since fbs is one per application.
  • jsdHandlers: global holding all of the current created jsd hooks
  • FirebugPrefsObserver
  • BreakOnNextCall(debuggr, context)

Stepper Objects[edit]

Every time a user steps one or more of these are created.

  • LineStepper(debuggr, context)
  • OutStepper(debuggr, context)
  • IntoStepper(debuggr, context)

Interfaces[edit]

List of JSD interfaces utilized by Firebug debugger.

Stepping[edit]

Stepping in the debugger (over, into, out) is implemented using steppers. These objects behave the same way as the Controller in famous MVC pattern.


Step Over: Line Stepper[edit]

Following diagram depicts how step over logic is implemented and how Line Stepper object is involved.

Step-over.png

  • All logic associated with the Firebug.Debugger object (onBreak, stop, enterNestedEventLoop and exitNestedEventLoop should be part of Firebug Service (FBS)