NPAPI外掛程式開發詳細記錄 外掛程式的除錯

2021-06-21 10:06:04 字數 1152 閱讀 4304

這裡歸納一下我知道的在外掛程式開發中使用的幾種除錯手段。

之前也提及過關於外掛程式的除錯,這裡需要補充一點關於在chrome中除錯外掛程式的內容,在chrome中執行外掛程式時,外掛程式的程序也是chrome.exe,因此要準確的找到正確的外掛程式程序可以為chrome新增啟動引數--plugin-startup-dialog,如圖:

當chrome載入外掛程式時,就會彈出對話方塊:

如果用其他瀏覽器進行除錯,也只需要找到載入外掛程式的程序就可以了,這種方法的具體步驟請參考:

外掛程式除錯

由於外掛程式是乙個dll,無法直接跟蹤**,除了前述方式之外,我們採用的較多的方式是彈出訊息框的方式,這與一般的程式使用printf輸出除錯資訊是類似的,不過這種方式只適合在較少的位置新增,訊息框太多會導致除錯過程更加難受的。

一般開發windows上的外掛程式都會包含windows.h和tchar.h等幾個標頭檔案,因此在外掛程式中一般只需要直接呼叫messagebox,較常用的方式是:messagebox(nul,_t(「the msg to show」),_t(「title」),0);

這種方式不好,但當你的外掛程式載入時就崩潰了的話,根本無法採用附加到程序的方式來除錯外掛程式,此時可以在幾個關鍵位置新增訊息框來定位bug。

在windows平台還有一種方式可以替代彈訊息框,那就是利用outputdebugstring。

為了方便使用,可以在標頭檔案中新增呼叫outputdebugstring的**,舉例來說,我可以在npfrmwk.h中新增如下**:

void inline np_output_dbg_string(string str)

注意,這裡使用了inline,如果不使用inline,則需要在標頭檔案中新增函式宣告,在cpp檔案中加以實現。建議設計為inline方式。
template void np_output_dbg_string(t t)

{#ifdef _debug

std::stringstream ss;

ss<

NPAPI外掛程式開發

目錄 要實現這樣乙個功能,最簡單的方式是寫js來實現,只需要首先用getelementbyid獲取外掛程式,然後設定其width屬性和height屬性。但是,通常情況下我們只管編寫外掛程式,不負責網頁的設計,如果我們設計完乙個外掛程式,還要為網頁設計人員寫一大堆的注意事項,是不是可以說我們的外掛程式...

npapi外掛程式學習

作為乙個菜鳥,我是怎麼認識npapi外掛程式的。1 什麼是外掛程式?故名思意,乙個大傢伙的小功能 瀏覽器上的某個功能 2 為什麼要用到外掛程式?在瀏覽器上面可以完成前端資料與後台資料的通訊。3 與這樣的外掛程式功能類似的還有其他的開發程式嗎?我也不知道。4 為什麼要用c 語言開發np外掛程式呢?優勢...

npm外掛程式開發 Vue外掛程式

vue init webpack npm vue ui,dependencies browserslist 1 last 2 versions not ie 8 devdependencies const path require path const webpack require webpack...