1

大規模な Firefox プラグインで作業しているときに、エディターでキャッチされない構文エラーが誤って発生することがあります。これが発生すると、次の呼び出し

Components.utils.import("resource://modules/Foo.js")

ファイル内のどこで構文エラーを探すべきかについての役立つヒントがなくても、単にインポートに失敗したり、何かを返したりするだけです。インポートが失敗したときに Firefox に何らかの手がかりを与える方法はありますか?

編集:navigator私は自分の問題を修正しました。それは、オブジェクトへのグローバル参照を持つコードを使用していたことが判明しました。これが特に厄介だったのは、コードがブラウザーにロードされたときに機能することでした (Wladimir が以下で提案したように) が、拡張機能にインポートするときにまだ失敗します。

最終的には、一種の手動バイナリ検索に頼ることにしました。ファイルの半分を削除してから、インポートがまだ失敗するかどうかを確認します。もしそうなら、残りの半分を削除して繰り返します。失敗しなくなるとすぐに、問題がどこにあるかをより正確に把握できるようになりました。これにより、バイナリ検索を続行するか、より小さな領域を手動でスキャンして問題を探すことができました。

これには非常に時間がかかりますが、このデバッグ プロセスを高速化する方法についてご提案いただければ幸いです。

4

1 に答える 1

1

ここでの問題は、https://developer.mozilla.org/en/Exception_logging_in_JavaScriptdom.report_all_js_exceptionsで説明されている問題であり、プリファレンスの設定が機能するはずtrueです。ただし、この設定を設定するとエラーコンソールが非常にうるさくなるため、試したことはありません。代わりに、醜いハックを使用して、モジュールをスクリプトとしてローカル HTML ファイルにロードします。これは、構文エラーを表示するのに十分であり、幸いなことに、それほど頻繁に行う必要があるものではありません (構文エラーの問題のみです。実行時エラーは通常どおり報告されます)。

于 2011-06-22T07:10:24.147 に答える