Note: If you want to debug a specific add-on that is restartless or SDK-based then try the Add-on Debugger. Use the Browser Toolbox for add-ons that are neither.
The Browser Toolbox is not enabled by default. To enable it you need to check the settings "Enable chrome and addon debugging" and "Enable remote debugging".
Open the Browser Toolbox through the menu button and the menu items "Developer" then "Browser Toolbox".
You can also open it with the Ctrl + Alt +Shift + I key combination ( Cmd + Opt +Shift + I on a Mac).
You will be presented with a dialog like this (it can be removed by setting the
devtools.debugger.prompt-connection property to false):
Click OK, and the Browser Toolbox will open in its own window:
- Debugger (Note: If you want to debug a specific add-on that is restartless or SDK-based then try the Add-on Debugger.)
- Style Editor
- Network Monitor
- Page Inspector
- Accessibility Inspector
You can debug chrome: and about: pages using the normal Debugger, just as if they were ordinary content pages.
In the normal toolbox, there's a button in the toolbar enabling you to target specific iframes in the document. The same button appears in the browser toolbox where it lists all the top-level chrome and content windows as well as any iframes they contain. This enables you to inspect documents in individual chrome windows and popups, as well as in content tabs.
For example, here's what the frame selection popup lists when there are two browser windows open, one with one content tab, and one with two:
It's hard to debug popups, because the browser hides them as soon as you click outside them. There is a way to disable this behavior. Click the toolbox menu and select Disable popup auto-hide.
Now, when you open a popup, it stays open until you press the Esc key. Use the Inspector's node picker to select that panel and examine and modify its content. Use the same technique to debug popups created by add-ons.
Note: This change is not persistent across browser restarts. When you close the browser toolbox, the setting is cleared.