2012-12-04 109 views
6

我目前正在爲Firefox做一個簡單的擴展。現在我想能夠在擴展上下文中的控制檯中發出一些命令。在Firefox中調試擴展代碼(javascript調試器/ venkman)

我已經安裝了JavaScript調試器插件(的Venkman),但以下的說明:

  • 取消選中「排除應用程序文件」
  • 選擇文件,然後右鍵單擊「設置爲評價對象」

永遠不會設置上下文,我總是最終(或寧可留在)venkman.xul上下文中。

我會切換到另一個調試器,但至今曾與chromebug沒有運氣之一:

  • 安裝chromebug 1.08a2及配套螢火蟲
  • 與-chromebug -P開發開始火狐(作爲一個單獨的「 firefox'用於開發)

然後chromebug在自己的窗口中不讓我選擇上下文,實際上它甚至不顯示ANY上下文,所有面板都被禁用。

我真的不知道在哪裏尋找更多,並希望有一個解決方案。 現在我甚至不需要像設置斷點那樣的'花哨的'調試器,只需要在chrome級別發出命令。

回答

12

Firefox現在有一個內置的調試器,可以很容易地與競爭對手進行比較,也可能超過firebug,chromebug或venkman。

You need to enable (or create) 2 particular optionsabout:config延期調試工作:

devtools.chrome.enabled: true 
devtools.debugger.remote-enabled: true 

然後單擊Web開發菜單中的新的「瀏覽器調試器」條目。 「瀏覽器控制檯」也非常有用。

official documentation提到,這將工作從Firefox 19,但實際上它會only work well on all extension code from Firefox 23 onwards。 (如果您在Firefox 22發佈之前嘗試此操作,只需安裝the latest nightly build。)

另請注意,如果您是editing extension code directly,則需要Firefox才能刷新例如通過在調試器將列出更新的代碼之前使用the tips mentioned in this answer重新加載全部chrome擴展。

更新:火狐V32,後來還內置了調試的restartlessSDK-based支持附加。作爲stated in Mozilla's documentation,上面現在提到的「遠程調試」已在Web開發窗格的設置複選框:

enter image description here

然後,您可以去附加組件 - >擴展選項卡並單擊「調試」旁邊的你的擴展名。