2012-11-13 156 views
0

我正在构建Firefox的扩展。 我检查了javascripts,他们工作得很好。 我试图让扩展权的所有模块。但是,每次我尝试将插件安装到我的Firefox中时,它都会显示“不可安装...组件已损坏”。调试Firefox扩展

我正在寻找一个“扩展调试器”,可以找到使我的插件无法正常工作的错误。有任何建议吗?

+1

看起来你没有正确构建你的插件包。我怀疑一个调试器在这种情况下可以提供帮助。 –

+0

以及我在找东西,可以找到我的包里面的错误。调试器或任何它! – Janinho67

回答

0

有一些调试器为Firefox扩展,inparticular VenkmanChromebug(只用Firefox V5可靠地工作)。

这将是能够打破(暂停执行代码和启动调试器)发生异常时,但通常不会当你有包装的问题,这往往是由

  1. 坏体现所致帮助 - 看看虽然Mozilla的packaging documentation,特别是manifests的格式。
  2. XML错误 - 验证所有XML文件(如install.rdf)。
  3. 引用文件丢失(例如,在XML中引用的DTD是缺少)

随着工具的缺乏,最好的办法是经常比较您的扩展清单和目录结构与已知良好的扩展性(例如Hello World扩展或您的扩展的早期版本)就像DTD文件中的错误实体一样简单,可能会导致您看到的错误。

这是经典扩展还是最近的bootstrapped类型?

+0

这是一个经典之作。我不知道为什么,但它看起来像前工作(我刚做了一些调整),但现在它什么都不起作用。 – Janinho67

+0

此答案已过时,请参阅[我对新问题的回答](http://stackoverflow.com/questions/13701890/debugging-extension-code-in-firefox-javascript-debugger-venkman/17215664#17215664)解释如何使用新的内置调试器来调试扩展。 –

0

我建议检查文本编码install.rdf,chrome.manifestbootstrap.js。除ANSI之外的任何其他内容都将成为麻烦的原因。