调试Firefox扩展时如何检测语法错误

调试Firefox扩展时如何检测语法错误,firefox,mdc,Firefox,Mdc,在使用大型Firefox插件时,我有时会意外地犯一个编辑器无法捕捉到的语法错误。当这种情况发生时,请致电 Components.utils.import("resource://modules/Foo.js") 将无法导入或返回任何内容,而没有任何关于在文件中的何处查找语法错误的有用提示。有什么办法可以让Firefox在我失败时给我一些线索吗 编辑:我修复了自己的问题,结果是我使用的代码具有对navigator对象的全局引用。尤其令人恼火的是,代码在浏览器中加载时可以工作(正如下面Wladim

在使用大型Firefox插件时,我有时会意外地犯一个编辑器无法捕捉到的语法错误。当这种情况发生时,请致电

Components.utils.import("resource://modules/Foo.js")
将无法导入或返回任何内容,而没有任何关于在文件中的何处查找语法错误的有用提示。有什么办法可以让Firefox在我失败时给我一些线索吗

编辑:我修复了自己的问题,结果是我使用的代码具有对
navigator
对象的全局引用。尤其令人恼火的是,代码在浏览器中加载时可以工作(正如下面Wladimir所建议的),但在我的扩展中导入时仍然会失败

最后,我求助于一种手动二进制搜索:我会删除文件的一半,然后看看导入是否仍然失败。如果是这样的话,我会删除剩下的一半,然后重复。一旦它没有失败,我就有了一个更精确的问题所在的概念,这使我可以继续二进制搜索或手动扫描较小的区域来查找问题


这是非常耗时的,我仍然非常感谢任何关于如何加快调试过程的建议。

这里的问题很可能是在和设置
dom中描述的问题。报告所有的异常
首选项
true
应该可以工作。我必须承认,我没有尝试过,但是,因为设置此首选项会使错误控制台非常嘈杂。取而代之的是,我使用了一个丑陋的黑客程序,并将模块作为脚本加载到本地HTML文件中——这足以显示语法错误,幸运的是,这不是我需要经常做的事情(这只是语法错误的问题,运行时错误通常会报告).

这里的问题很可能是在和设置
dom中描述的问题。报告所有的异常
首选项为
true
应该有效。我必须承认,我没有尝试过,但是,因为设置此首选项会使错误控制台非常嘈杂。取而代之的是,我使用了一个丑陋的黑客程序,并将模块作为脚本加载到本地HTML文件中——这足以显示语法错误,幸运的是,这不是我需要经常做的事情(这只是语法错误的问题,运行时错误通常会报告)