2011-04-15 87 views
1

我正在爲客戶端調試FF擴展(3500行)。我有一個分開的開發簡介,只需螢火蟲 & & 擴展開發人員擴展工作。用於Firefox擴展開發的調試工具

1.-在過去的兩年裏,我開發了一些FF的擴展。我記得我用Firebug的console.debug/trace進行調試。現在,用Firebug 1.6.2控制檯是沒有定義。任何建議來解決這個問題?
2:昨天晚上我裝console2,可以幫助很好用如自定義功能(正常錯誤控制檯升級):

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

但Firebug.console.debug優越。請告知關於調試FF擴展的替代技術。

回答

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:config偏好爲extensions.myextension.DBG_MINE設置爲true。您可以在http://www.softwareishard.com/blog/firebug/tracing-console-for-firebug/找到更多信息,儘管略有過時。

要進行更高級的調試,需要檢查Chromebug,它可以讓您檢查XUL接口並調試擴展代碼,而Venkmann只是一個調試器,但我發現它比等待Chromebug啓動要快得多向上。

+0

謝謝...我有這個錯誤:_Error:權限拒絕來獲取屬性XPCComponents.utils_除了我也在學習Venckman ... – 2011-04-16 00:32:22

+0

這聽起來像你試圖運行它作爲無特權的代碼。 Components.utils.import只有在運行特權時纔可用,作爲擴展的一部分。你如何加載/運行你的代碼? – 2011-04-16 08:17:53

+0

謝謝。無論如何這是一個很棒的tipo! – 2011-11-09 20:35:18