JSD2 Adoption

From FirebugWiki

(Difference between revisions)
Jump to: navigation, search
(Open Tasks)
m (Available commands: fix typo)
 
(41 intermediate revisions not shown)
Line 1: Line 1:
== Resources ==
== Resources ==
-
* https://getfirebug.com/wiki/index.php/Script_Panel_Refactoring
+
* [[Script Panel Refactoring]]
-
* https://getfirebug.com/wiki/index.php/Remoting_Architecture
+
* [[Remoting Architecture]]
-
* https://getfirebug.com/wiki/index.php/Remote_Selector
+
* [[Remote Selector]]
-
 
+
== Open Tasks ==
== Open Tasks ==
Rough list of missing things. The list should be converted into meaningful list of bug reports within Firebug issue tracker.
Rough list of missing things. The list should be converted into meaningful list of bug reports within Firebug issue tracker.
-
 
* <strike>Remove the old Script panel</strike>
* <strike>Remove the old Script panel</strike>
** <strike>Remove also all related sidepanels</strike>
** <strike>Remove also all related sidepanels</strike>
** <strike>Remove the firebug-service</strike>
** <strike>Remove the firebug-service</strike>
-
** Remove BTI?
+
** [http://code.google.com/p/fbug/issues/detail?id=6947 Issue 6947]: Remove BTI
** <strike>Rename the new panel to “Script” (currently Debugger)</strike>
** <strike>Rename the new panel to “Script” (currently Debugger)</strike>
* Use ‘tabNavigated’ and ‘tabDetached’ to implement new TabWatcher
* Use ‘tabNavigated’ and ‘tabDetached’ to implement new TabWatcher
Line 19: Line 17:
** <strike>Conditional breakpoints</strike>
** <strike>Conditional breakpoints</strike>
** <strike>Disable/Enable breakpoints</strike>
** <strike>Disable/Enable breakpoints</strike>
-
** Error breakpoints
+
** <strike>Error breakpoints</strike>
-
** Monitor breakpoints
+
** <strike>Monitor breakpoints</strike>
-
** XHR breakpoints [https://bugzilla.mozilla.org/show_bug.cgi?id=832983 bug 832983], [https://bugzilla.mozilla.org/show_bug.cgi?id=821610 bug 821610]
+
** <strike>XHR breakpoints (local scenario only)</strike> [https://bugzilla.mozilla.org/show_bug.cgi?id=832983 bug 832983], [https://bugzilla.mozilla.org/show_bug.cgi?id=821610 bug 821610]
-
** Mutation breakpoints
+
** <strike>Mutation breakpoints</strike>
-
** respect 'actualLocation' sent back from the server (corrected BP location)
+
** DOM event breakpoints [https://bugzilla.mozilla.org/show_bug.cgi?id=800857 bug 800857], [https://bugzilla.mozilla.org/show_bug.cgi?id=832982 bug 832982]
 +
** <strike>respect <code>actualLocation</code> sent back from the server (corrected BP location)</strike>
** breakpoint initialization should be done when the target script (URL) is loaded.
** breakpoint initialization should be done when the target script (URL) is loaded.
 +
** <strike>The breakpoint condition editor does not disappear when clicking outside of it.</strike>
** <strike>breakpoint info tip (condition)</strike>
** <strike>breakpoint info tip (condition)</strike>
-
* Use CodeMirror instead of Orion? See Bug 816756
+
** The breakpoint condition editor doesn't scroll
 +
* [http://code.google.com/p/fbug/issues/detail?id=6494 Issue 6494]: Integrate CodeMirror inside the Script panel? (see also [https://bugzilla.mozilla.org/show_bug.cgi?id=816756 bug 816756])
* <strike>Pause on exception</strike>
* <strike>Pause on exception</strike>
-
* <strike>User expression in the Watch window</strike>
+
* <strike>User expression in the [[Watch Side Panel]]</strike>
-
* Restore expanded state of the Watch window across stepping.
+
* <strike>Restore expanded state of the [[Watch Side Panel]] across stepping.</strike>
-
* Execute command line expression within the current frame
+
* Allow to execute command line expression within the current frame
-
* New profiler API, see bug 797876
+
* New profiler API, see [https://bugzilla.mozilla.org/show_bug.cgi?id=797876 bug 797876]
-
* The autocompletion for “New watch expression” doesn’t allow to type just ‘a’ expression (always autocompleted to ‘atob’)
+
* The autocompletion for ''New watch expression'' doesn't allow to type just <code>a</code> as expression (always autocompleted to <code>atob</code>)
* Script panel context menu
* Script panel context menu
** <strike>Copy Source</strike>
** <strike>Copy Source</strike>
Line 39: Line 40:
** <strike>Toggle Disabled Breakpoint</strike>
** <strike>Toggle Disabled Breakpoint</strike>
** <strike>Continue, step over, step into, step out</strike>
** <strike>Continue, step over, step into, step out</strike>
-
** Edit Breakpoint Condition
+
** <strike>Edit Breakpoint Condition</strike>
** Run Until
** Run Until
** Rerun
** Rerun
* Meta: integration with other panels
* Meta: integration with other panels
-
** Break on… features
+
** <strike>Break on… features</strike>
-
** Command line
+
** [[Command Line]]
-
** Console logging
+
** [[Console Panel|Console]] logging
-
** DOM panel
+
** [[DOM Panel]]
-
* <strike>Stack frames displayed in Script panel's toolbar</strike>
+
* <strike>Stack frames displayed in [[Script Panel]]'s toolbar</strike>
-
* Click on a function jumps to the definition
+
* [http://code.google.com/p/fbug/issues/detail?id=2856 Issue 2856]: Click on a function jumps to the definition
-
* Script panel info tip (var value)
+
* <strike>Variable value info tip</strike>
* Adopt existing tests
* Adopt existing tests
-
* Scroll the script panel to show execution line
+
* Scroll the [[Script Panel]] to show execution line
-
* Watch window: edit value and user variable name
+
* [[Watch Side Panel]]: edit value and user variable name
-
* Break notifications (explaining the reason why break happened)
+
* <strike>Break notifications (explaining the reason why break happened)</strike>
-
* The Script panel & two tabs with Firebug opened.
+
* <strike>The [[Script Panel]] & two tabs with Firebug opened.</strike>
 +
* <strike>Debugging two tabs at once (there is a warning)</strike>
 +
* <strike>Disable <code>debugger;</code> keyword with disabled breakpoint</strike>
 +
* [https://github.com/mozilla/source-map Source Maps]
 +
* Search
 +
** Search multiple files
 +
** Search for regular expression
 +
** Goto line
 +
* <code>FirebugRep.supportsObject()</code> could use third parameter for remote-object-types
 +
** See also Simon's [https://github.com/firebug/firebug/commit/5c220f5ea1045e7921dd92d8c255e9e4b35b85d9#commitcomment-2536753 comment]
 +
* [[Watch Side Panel]]
 +
** Changing local variable or argument needs environment actor re-fetch from the server
 +
* [[Script Panel]]
 +
** Execution line disappears when switching to another tab and back
 +
** When Firefox exits with the debugger active (<code>context.stopped</code>) the process hangs in the memory
 +
** [[Script_Panel#Break_On_Next|Break On Next] (blocked by [https://bugzilla.mozilla.org/show_bug.cgi?id=789430 bug 789430])
 +
** <strike>Mark executable lines</strike>
 +
* Errors
 +
** Stack trace for errors (test script/callstack/5400), [http://code.google.com/p/fbug/issues/detail?id=6523 Issue 6523]: JSD2: Show Stack Trace With Errors
 +
** Source line for errors that happen in dynamic scripts (script/callstack/5544, event script), blocked by [https://bugzilla.mozilla.org/show_bug.cgi?id=637572 bug 637572]
 +
* Stepping
 +
** Double pause at the same line (test script/stepping/1179), blocked by [https://bugzilla.mozilla.org/show_bug.cgi?id=829028 bug 829028]
== Related Issues ==
== Related Issues ==
-
Existing bug reports
+
Existing reports in Firebug issue list use label: <b>jsd2</b> so, you can [http://code.google.com/p/fbug/issues/list?can=2&q=label%3Ajsd2 search] for them.
 +
 
 +
=== Bugzilla ===
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=800200 Bug 800200] - rm JSD
 +
* <strike>[https://bugzilla.mozilla.org/show_bug.cgi?id=837723 Bug 837723] - Debugger should provide a way to get Debugger.Object referents directly</strike>
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=865313 Bug 865313] - It is not possible to debug dynamically evaluated scripts
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=637572 Bug 637572] - Implement Debugger.Source, providing script source code and detailed origin information
 +
* <strike>[https://bugzilla.mozilla.org/show_bug.cgi?id=832982 Bug 832982] - Implement backend support for breaking on dom events</strike>
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=880697 Bug 880697] - JSD often uses JSContexts without pushing
 +
 
 +
== Available commands ==
 +
{| class="wikitable" style="vertical-align:top;"
 +
! style="width:200px;" | Command || Description
 +
|-
 +
| <code>pauseGrip(actor, type)</code> || Sends a packet with type <code>type</code> to a given actor living in debugger paused time
 +
|-
 +
| <code>tabGrip(actor, type)</code> || The same as <code>pauseGrip</code> but for "tab" actors
 +
|-
 +
| <code>threadPool()</code> || Creates a log of the current thread pool (thread actors map) into the console
 +
|-
 +
| <code>pausePool()</code> || Creates a log of the current pause pool (pause actors map) into the console
 +
|-
 +
| <code>breakpoints()</code> || Logs client side and server side breakpoints into the console
 +
|-
 +
| <code>getSource(scriptActor)</code> || Fetches the source (from the backend) for a given ''scriptActor''
 +
|}

Latest revision as of 12:04, 6 February 2014

Contents

[edit] Resources

[edit] Open Tasks

Rough list of missing things. The list should be converted into meaningful list of bug reports within Firebug issue tracker.

  • Remove the old Script panel
    • Remove also all related sidepanels
    • Remove the firebug-service
    • Issue 6947: Remove BTI
    • Rename the new panel to “Script” (currently Debugger)
  • Use ‘tabNavigated’ and ‘tabDetached’ to implement new TabWatcher
  • Breakpoints
    • Breakpoint removal (from the Script and Breakpoints panel)
    • Conditional breakpoints
    • Disable/Enable breakpoints
    • Error breakpoints
    • Monitor breakpoints
    • XHR breakpoints (local scenario only) bug 832983, bug 821610
    • Mutation breakpoints
    • DOM event breakpoints bug 800857, bug 832982
    • respect actualLocation sent back from the server (corrected BP location)
    • breakpoint initialization should be done when the target script (URL) is loaded.
    • The breakpoint condition editor does not disappear when clicking outside of it.
    • breakpoint info tip (condition)
    • The breakpoint condition editor doesn't scroll
  • Issue 6494: Integrate CodeMirror inside the Script panel? (see also bug 816756)
  • Pause on exception
  • User expression in the Watch Side Panel
  • Restore expanded state of the Watch Side Panel across stepping.
  • Allow to execute command line expression within the current frame
  • New profiler API, see bug 797876
  • The autocompletion for New watch expression doesn't allow to type just a as expression (always autocompleted to atob)
  • Script panel context menu
    • Copy Source
    • Add Watch
    • Toggle Breakpoint
    • Toggle Disabled Breakpoint
    • Continue, step over, step into, step out
    • Edit Breakpoint Condition
    • Run Until
    • Rerun
  • Meta: integration with other panels
  • Stack frames displayed in Script Panel's toolbar
  • Issue 2856: Click on a function jumps to the definition
  • Variable value info tip
  • Adopt existing tests
  • Scroll the Script Panel to show execution line
  • Watch Side Panel: edit value and user variable name
  • Break notifications (explaining the reason why break happened)
  • The Script Panel & two tabs with Firebug opened.
  • Debugging two tabs at once (there is a warning)
  • Disable debugger; keyword with disabled breakpoint
  • Source Maps
  • Search
    • Search multiple files
    • Search for regular expression
    • Goto line
  • FirebugRep.supportsObject() could use third parameter for remote-object-types
  • Watch Side Panel
    • Changing local variable or argument needs environment actor re-fetch from the server
  • Script Panel
    • Execution line disappears when switching to another tab and back
    • When Firefox exits with the debugger active (context.stopped) the process hangs in the memory
    • [[Script_Panel#Break_On_Next|Break On Next] (blocked by bug 789430)
    • Mark executable lines
  • Errors
    • Stack trace for errors (test script/callstack/5400), Issue 6523: JSD2: Show Stack Trace With Errors
    • Source line for errors that happen in dynamic scripts (script/callstack/5544, event script), blocked by bug 637572
  • Stepping
    • Double pause at the same line (test script/stepping/1179), blocked by bug 829028

[edit] Related Issues

Existing reports in Firebug issue list use label: jsd2 so, you can search for them.

[edit] Bugzilla

  • Bug 800200 - rm JSD
  • Bug 837723 - Debugger should provide a way to get Debugger.Object referents directly
  • Bug 865313 - It is not possible to debug dynamically evaluated scripts
  • Bug 637572 - Implement Debugger.Source, providing script source code and detailed origin information
  • Bug 832982 - Implement backend support for breaking on dom events
  • Bug 880697 - JSD often uses JSContexts without pushing

[edit] Available commands

Command Description
pauseGrip(actor, type) Sends a packet with type type to a given actor living in debugger paused time
tabGrip(actor, type) The same as pauseGrip but for "tab" actors
threadPool() Creates a log of the current thread pool (thread actors map) into the console
pausePool() Creates a log of the current pause pool (pause actors map) into the console
breakpoints() Logs client side and server side breakpoints into the console
getSource(scriptActor) Fetches the source (from the backend) for a given scriptActor
Personal tools