デバッグ

基本

スクリプトのデバッグは、ブラウザツールボックス (ブラウザデバッガ) で行えます。またXULの動作確認には、DOM InspectorやDeveloper Assistantに含まれるXUL Editorがあります。

エラーなどの確認

アドオンに関するエラーや警告は、ブラウザコンソールで確認できます。

ツールによるアドオンの検証

Mozillaの開発者センターで提供されている、アドオンの検証 :: 開発者センター :: Add-ons for Firefoxを利用すると、

  • 一般的なテスト (General Tests)
  • セキュリティ テスト (Security Tests)
  • 拡張機能テスト (Extension Tests)
  • ローカライズ テスト (Localization Tests)
  • 互換性テスト (Compatibility Tests)

の項目について、一括して検証できます。なおこのサービスを利用するには、事前にアドオンを.xpiなどでパッケージングしておく必要があります。

メッセージの出力

コンソールで表示

次のような方法で、コンソールへメッセージを出力できます。しかし可能ならばブラウザツールボックスなどで確認する方が、より簡単に詳細な情報を取得できます。

ブラウザコンソールへの出力

XPCOMを使用して、ブラウザコンソールとエラーコンソールへメッセージを出力できます。メッセージはそれぞれ、

として記録されます。そしてメッセージの出力は、次の関数のように行います。この例では、引数のmsgがコンソールへ出力されます。

function LOG( msg )
{
    var consoleService = Components.classes[ '@mozilla.org/consoleservice;1' ]
        .getService( Components.interfaces.nsIConsoleService );

    consoleService.logStringMessage( msg );
}

デバッグコンソールへの出力

デバッグコンソールにメッセージを出力できます。そのためにはあらかじめabout:conifgで[browser.dom.window.dump.enabled]をtrueに設定し、デバッグコンソールを起動しておく必要があります。

デバッグコンソールに出力するには、

window.dump( 'abc' )

のように、windowのdump()メソッドを呼ぶだけです。

ダイアログで表示

window.alert()で、ダイアログボックスを開いてメッセージを表示できます。ただしwindowのloadイベントでこのメソッドを呼び出すと、「NS_ERROR_NOT_AVAILABLE: Cannot call openModalWindow on a hidden window」として、例外が発生します。View topic - Cannot call openModalWindow on a hidden window • Mozilla Add-ons Forum

Firefoxアドオンの情報サイトから、まとめて検索