Last Comment Bug 899054 - (dbg-addon) [meta] Add-on debugging
(dbg-addon)
: [meta] Add-on debugging
Status: NEW
:
Product: Firefox
Classification: Client Software
Component: Developer Tools: Debugger (show other bugs)
: unspecified
: x86_64 Linux
P5 normal with 5 votes (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
: Jason Laster [:jlast]
Mentors:
Depends on: 953414 986586 990256 991179 1006102 1011760 1015545 1016046 1027047 1065952 1075104 1075172 1075185 1092270 1106689 1112293 1116113 1116163 1116276 1191802 1233407 1283363 898229 898559 899052 911098 986108 986755 986838 986853 987890 988661 990074 990258 991347 991762 992244 993029 993533 1003252 1005193 1007428 1007732 1060093 1076796 1122144 1208590 1211665 1261857 1265636
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-29 05:58 PDT by Eddy Bruel [:ejpbruel]
Modified: 2017-01-10 07:21 PST (History)
27 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description User image Eddy Bruel [:ejpbruel] 2013-07-29 05:58:58 PDT
Now that the remote browser debugger can attach to add-on scripts, it is possible to debug add-ons with it. Doing so is still cumbersome, however, since the browser debugger attaches to all globals regardless of whether they are part of a specific add-on or not. What we want is for the browser debugger to attach to a specific add-on, rather than the entire browser.

In terms of implementation, our proposal is to create a specialization of the chrome thread actor used by the debugger, which we will call an add-on thread actor (bug 898559). In contrast to the chrome thread actor, which adds *all* globals as debuggees, an add-on thread actor only adds globals that are part of a given add-on.

In addition, the root actor should be extended to respond to a request for a list of add-ons by sending a reply containing a list of add-on thread actors, one for each (active) add-on. Clients can then attach to/detach from these add-on thread actors on an individual basis.

The add-on thread actor must be able to tell which globals are part of a given add-on and which are not. To facilitate this, we propose implementing a metadata API (bug 898559) which allows globals to be tagged as such.

Once we've implemented add-on thread actors, we propose to extend the add-on manager UI with an option 'debug this add-on' for each active add-on. Clicking this option will cause the browser debugger to be started for a specific add-on (by passing it the add-on ID as a parameter).
Comment 1 User image :Gijs (away until Feb 27) 2013-09-18 01:18:21 PDT
(In reply to Eddy Bruel [:ejpbruel] from comment #1)
> In terms of implementation, our proposal is to create a specialization of
> the chrome thread actor used by the debugger, which we will call an add-on
> thread actor (bug 898559). In contrast to the chrome thread actor, which
> adds *all* globals as debuggees, an add-on thread actor only adds globals
> that are part of a given add-on.

For anyone else reading and being confused like me: I think the bug number was meant to be bug 899052.

Note You need to log in before you can comment on or make changes to this bug.