2011-06-21 1 views
1

大きなFirefoxプラグインで作業しているときに、誤って誤って構文エラーをエディタで検出できなくなることがあります。この場合、単にファイルの構文エラーを探しする場所についての役立つヒントのいずれかの種類せずに、インポートまたは何かを返すために失敗します Firefoxの拡張機能をデバッグするときに構文エラーを検出する方法

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

を呼び出します。私の importsが失敗したときにFirefoxに何か手がかりを与えるような方法はありますか?

編集:navigatorオブジェクトへのグローバル参照を持つコードを使用していたことがわかりました。これは特に厄介なものでしたが、ブラウザに読み込まれたときにコードが動作することになりました(Wladimirは以下に示唆したように)が、エクステンションに読み込む際には失敗します。

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

これは非常に時間がかかりますが、私はこのデバッグプロセスをスピードアップする方法についての提案をお待ちしております。

答えて

1

ここでの問題は、https://developer.mozilla.org/en/Exception_logging_in_JavaScriptに記載されている可能性が最も高く、dom.report_all_js_exceptionsの設定をtrueに設定すると有効です。私はこの設定を設定するとエラーコンソールが非常に騒々しくなるので、私はそれを試していないことを認めなければならない。代わりに私は醜いハックを使用し、ローカルHTMLファイルのスクリプトとしてモジュールを読み込みます - これは私に構文エラーを表示するのに十分であり、幸いにも私はあまりにも頻繁に行う必要があるものではありません(構文エラー、ランタイムエラーは通常と報告されます)。

関連する問題