无法安装Crossrider Extension的调试扩展 - Firefox

时间:2013-12-17 15:35:37

标签: javascript firefox crossrider

FF25.0,Fedora 18。

这只是围绕着圈子。登台扩展安装,部分活动,因为扩展修改了一点dom(我想甚至后台脚本也在本地存储初始化时运行)。并非所有扩展都能正常工作,例如在页面加载时运行的侧边栏和其他dom注入。但是,crossrider中的调试模式页面无法识别正在运行的扩展名。

我怀疑这是由于我的代码中的错误,但似乎没有办法调试它。当我注释掉侧边栏时,它仍然在另一次安装后显示,这让我怀疑代理/缓存正在阻碍但是在扩展URL上添加额外的GET参数没有帮助。我已尝试将debugger添加到extension.js。控制台是空的。萤火虫没有报告任何错误。扩展在chrome中运行良好,我真的不想回到空白扩展并尝试逐位添加直到失败。必须有一个更简单的方法,比如让firefox说,“这是你的问题,就在第X行”。有什么想法吗?

[修改]
打开一些调试选项后,我在控制台中出现错误,但点击有问题的文件/行号只会打开“Source of:...”窗口。在谷歌浏览器中,我在调试器中获取文件,可以点击断点,刷新并捕获错误。更好的是,那些既有效又可以实际的“异常突破”选项如何运作。

[修改]
我终于让Browser Debugger工作了。第一个错误是NS_ERROR_XPC_BAD_OP_ON_WN_PROTO

2 个答案:

答案 0 :(得分:1)

好吧,要开始实际收到消息,您需要在此处列出的“about:config”中设置一些标记:Setting_up_extension_development_environment

我会复制一些......

  • javascript.options.showInConsole = true(这已经在我身上了)
  • browser.dom.window.dump.enabled = true
  • javascript.options.strict = true(还有我打开的调试版本)
  • devtools.chrome.enabled = true(与谷歌浏览器无关)
  • devtools.debugger.remote-enabled = true重要的,允许Firefox->Web Developer->Browser Debugger,确保允许远程调试器,否则撤消配置更改)
  • devtools.errorconsole.enabled = true
  • extensions.logging.enabled = true

看起来已经删除了很多选项。这至少让我开始了。

[修改]
This回答还提到“Web Developer-> Browser Debugger”(目前是空白的 - “没有来源” - 我不知道)和“Web Developer-> Browser Console”窗口(似乎有与窗口控制台相同的输出。)

答案 1 :(得分:1)

  1. 所有的扩展程序代码周围抛出一个巨大的 try / catch 。至少这允许交叉“分段”扩展安装并被识别。

  2. 打印异常(我假设必须设置所有愚蠢的about:config内容才能使其正常工作)

    appAPI.ready(function($) {
        try {
        ...rest of extension code
        }
        catch (e)
        {
            console.log("#################", e);
        }
    }
    
  3. 在控制台中找到错误,然后点击[object exception]。注意行号(它注入其他代码时不正确)。另请注意,我们设法打印了一个例外, firefox 失败打破了。 FFFFFFFFFFFFFFFFFFFF

  4. 在代码中间大致添加一些换行符。

  5. 刷新。注意行号。如果它被更改,则错误发生在换行符之后。如果不是错误,那么。

  6. 从步骤4开始重复,直到找到错误。

  7. 花点时间思考一下这个过程的愚蠢。 (这不是针对交叉驾驶者的评论,更多的是因为目前可用的简单Web开发工具和API严重缺乏)