【问题标题】:Debugging extension code in firefox (javascript debugger/venkman)在 firefox 中调试扩展代码(javascript debugger/venkman)
【发布时间】:2012-12-04 11:30:34
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: debugging firefox


    【解决方案1】:

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

    You need to enable (or create) 2 particular options in about:config 用于扩展调试工作:

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

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

    official documentation 提到这将在 Firefox 19 上运行,但实际上它将在 only work well on all extension code from Firefox 23 onwards 上运行。 (如果您在 Firefox 22 发布之前尝试此操作,只需安装 the latest nightly build。)

    还请注意,如果您是editing extension code directly,您将需要获取 Firefox 来刷新,例如在调试器列出更新的代码之前,使用 the tips mentioned in this answer 重新加载所有 chrome 扩展。

    更新: Firefox v32 及更高版本具有对 restartlessSDK-based 附加组件 的内置调试支持。正如stated in Mozilla's documentation,上面提到的“远程调试”现在在 Web Developer 窗格的设置中有一个复选框:

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

    【讨论】:

      猜你喜欢
      • 2017-12-31
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多