1

クライアント(3500行)のFF拡張機能をデバッグしています。私は、 firebug &&拡張機能開発者拡張機能だけが機能する別の開発プロファイルを持っています。

1.-私は過去2年間に、FF用にいくつかの拡張機能を開発しました。デバッグにFirebugのconsole.debug/traceを使用したことを覚えています。現在、Firebug1.6.2ではコンソールは定義されていません。これを修正するためのアドバイスはありますか?
2.-昨夜、次のようなカスタム関数で非常に役立つconsole2(通常のエラーコンソールのアップグレード)をインストールしました。

function debug(aMsg){
setTimeout(function(){throw new Error( "[debug]" + aMsg);}、0);
}

ただし、Firebug.console.debugの方が優れています。FF拡張機能をデバッグするための代替手法についてアドバイスしてください。

4

1 に答える 1

4

最近のFirebugリリースには、拡張機能をデバッグするときに使用する優れたログ/トレースコンポーネントが含まれています。次のようなコードを使用してください。

// When initialising extension
var myLogger = {}
try {
    Components.utils["import"]("resource://firebug/firebug-trace-service.js");
    myLogger = traceConsoleService.getTracer("extensions.myextension");
} catch (e) {
    // firebug not installed
}

// later on
if (myLogger.DBG_MINE) {
    myLogger.sysout("my message", obj); // intelligently handles obj exceptions too
}

このロギングを有効にするには、about:configforextensions.myextension.DBG_MINEをtrueに設定して設定を作成します。少し古くなっていますが、詳細についてはhttp://www.softwareishard.com/blog/firebug/tracing-console-for-firebug/を参照してください。

より高度なデバッグについては、XULインターフェイスを検査して拡張コードをデバッグできるChromebugと、単なるデバッガーであるがChromebugの起動を待つよりもはるかに高速であることがわかったVenkmannを確認する価値があります。

于 2011-04-15T23:51:10.763 に答える