簡體   English   中英

無法安裝Crossrider Extension的調試擴展 - Firefox

[英]Failure installing the debug extension of your Crossrider Extension - Firefox

FF25.0,Fedora 18。

這只是圍成一圈。 登台擴展安裝,部分活動,因為擴展修改了一點dom(我想甚至后台腳本也在本地存儲初始化時運行)。 並非所有擴展都可以工作,例如側邊欄和其他應該在頁面加載時運行的dom注入。 但是,交叉器中的調試模式頁面無法識別正在運行的擴展。

我懷疑這是由於我的代碼中的錯誤,但似乎沒有辦法調試它。 當我注釋掉側邊欄時,它仍然在另一次安裝后顯示,這讓我懷疑代理/緩存正在阻礙但是在擴展URL上添加額外的GET參數沒有幫助。 我已經嘗試將debugger添加到extension.js 控制台是空的。 螢火蟲沒有報告任何錯誤。 擴展在chrome中運行良好,我真的不想回到空白擴展並嘗試逐位添加直到失敗。 必須有一個更簡單的方法,比如讓firefox只說“這是你的問題,就在第X行” 有任何想法嗎?

[ 編輯 ]
打開一些調試選項后,我在控制台中出現錯誤,但點擊有問題的文件/行號只會打開“Source of:...”窗口。 在谷歌瀏覽器中,我在調試器中獲取文件,可以點擊斷點,刷新並捕獲錯誤。 更重要的是,怎么樣,這兩個作品,而且實際工作一個“突破式的例外”選項。

[ 編輯 ]
我終於讓Browser Debugger工作了。 第一個錯誤是NS_ERROR_XPC_BAD_OP_ON_WN_PROTO

好吧,要開始實際獲取消息,您需要在此處列出的“ about:config ”中設置一些標志: Setting_up_extension_development_environment

我會復制一些......

  • javascript.options.showInConsole = true (這對我來說已經開啟了)
  • browser.dom.window.dump.enabled = true
  • javascript.options.strict = true (還有我打開的調試版本)
  • devtools.chrome.enabled = true (與谷歌瀏覽器無關)
  • devtools.debugger.remote-enabled = true重要的一個 ,允許Firefox->Web Developer->Browser Debugger ,確保允許遠程調試器,否則它撤消配置更改)
  • devtools.errorconsole.enabled = true
  • extensions.logging.enabled = true

看起來很多選項也被刪除了。 這至少讓我開始了。

[ 編輯 ]
這個答案還提到了“Web Developer-> Browser Debugger”(目前是空白的 - “沒有來源” - 我不知道)和“Web Developer-> Browser Console”窗口(看起來似乎有相同的輸出) - 窗口控制台)。

  1. 拋出所有擴展代碼的巨大嘗試/捕捉 至少這允許交叉駕駛員“登台”擴展安裝和識別。

  2. 打印異常(我假設所有愚蠢的about:config東西必須設置為此工作)

     appAPI.ready(function($) { try { ...rest of extension code } catch (e) { console.log("#################", e); } } 
  3. 在控制台中找到錯誤,然后單擊[object exception] 注意行號(它注入其他代碼時不正確)。 還要注意我們已經設法打印一個異常,而firefox 未能打破它 FFFFFFFFFFFFFFFFFFFF

  4. 在代碼中間大致添加一些換行符。

  5. 刷新。 注意行號。 如果它被更改,則錯誤發生在換行符之后。 如果不是錯誤之前。

  6. 從步驟4開始重復,直到找到錯誤。

  7. 花點時間思考一下這個過程的愚蠢。 (這不是針對交叉駕駛員的評論,更多是因為目前可用的簡單Web開發工具和API嚴重缺乏)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM