在处理大型 Firefox 插件时,我有时会不小心出现我的编辑器没有捕捉到的语法错误。发生这种情况时,调用
Components.utils.import("resource://modules/Foo.js")
将根本无法导入或返回任何内容,没有任何有用的提示来说明在文件中查找语法错误的位置。当我的导入失败时,有什么方法可以让 Firefox 给我一些线索?
编辑:我解决了我自己的问题,结果证明我使用的代码具有对该navigator
对象的全局引用。让这特别烦人的是代码在浏览器中加载时可以工作(正如 Wladimir 在下面建议的那样),但在我的扩展中导入时仍然会失败。
最终我求助于一种手动二进制搜索:我会删除一半的文件,然后查看导入是否仍然失败。如果是这样,那么我会删除剩下的一半并重复。只要它没有失败,我就可以更准确地了解问题出在哪里,这使我可以继续进行二分搜索或手动扫描较小的区域以查找问题。
这非常耗时,我仍然很感激有关如何加快此调试过程的任何建议。