6

我目前正在为 Firefox 开发一个简单的扩展。现在我希望能够在扩展上下文中的控制台中发出一些命令。

我已经安装了 Javascript Debugger 插件(venkman),但按照说明进行操作:

  • 取消选中“排除应用程序文件”
  • 选择文件并右键单击“设置为评估对象”

从不设置上下文,我总是最终(或者更确切地说停留)在 venkman.xul 上下文中。

我会切换到另一个调试器,但到目前为止,chromebug 也没有运气:

  • 安装了 chromebug 1.08a2 和匹配的 firebug
  • 使用 -chromebug -P dev 启动 firefox(作为单独的“firefox”用于开发)

然后它自己的窗口上的 chromebug 不允许我选择上下文,实际上它甚至不显示任何上下文,所有面板都被停用。

我真的不知道再去哪里看,很想有一个解决方案。现在我什至不需要像设置断点这样的“花哨”调试器,只需要在 chrome 级别发出命令。

4

1 回答 1

12

Firefox 现在有一个内置调试器,可以轻松与竞争对手竞争,并且可能超过了 firebug、chromebug 或 venkman。

您需要启用(或创建)2 个特定选项才能使扩展about:config调试工作:

devtools.chrome.enabled: true
devtools.debugger.remote-enabled: true

然后单击 Web Developer 菜单中新的“Browser Debugger”条目。“浏览器控制台”也非常有用。

官方文档提到这将适用于 Firefox 19,但实际上它只适用于 Firefox 23 及以后的所有扩展代码。(如果您在 Firefox 22 发布之前尝试此操作,只需安装最新的 nightly build即可。)

另请注意,如果您直接编辑扩展代码,则需要让 Firefox 刷新,例如,在调试器列出更新的代码之前,使用此答案中提到的提示使用 reload all chrome 扩展。

更新: Firefox v32及更高版本具有对无需重启和基于 SDK 的附加组件的内置调试支持。如Mozilla 的文档中所述,上面提到的“远程调试”现在在 Web Developer 窗格的设置中有一个复选框:

在此处输入图像描述

然后,您可以转到附加组件 -> 扩展选项卡,然后单击扩展名称旁边的“调试”。

于 2013-06-20T14:01:10.730 回答