Play with chrome之環境搭建

2022-06-09 10:57:11 字數 2000 閱讀 3024

工欲善其事,必先利其器 , 本文主要講環境的搭建,包括chrome的編譯與除錯 &&v8引擎到的編譯與除錯。

測試環境

win10 64 位, visual studio 2015
chrome編譯

visual studio 2015

在不能fq時,可以按照我的方案來。

如果系統語言是中文的話還需要,修改非unicode 程式的語言英語(美國), 如下圖所示

depot_tools

然後解壓depot_tools-2017-1-all.rar到乙個目錄,目錄名不要有空格,中文。然後把目錄新增到環境變數,後面編譯時要用到。

比如我的depot_tools的目錄是d:\depot_tools\depot_tools

然後新建乙個depot_tools_win_toolchain系統變數, 其值設為0.

設定 chromium 原始碼

首先解壓chromium到乙個目錄,然後解壓develop-for-stable-chromium-58.0.3029.81.zip檔案,然後拷貝相應資料夾到chromium原始碼目錄,覆蓋掉相應的資料夾。

編譯

進入原始碼目錄,執行命令,生成編譯需要的檔案和vs 2015的解決方案。

gn gen out/default --args="enable_nacl=false"

gn args out/default --ide=vs

然後使用ninja編譯

ninja -c out\default chrome
如果沒有問題,等幾個小時就好了。然後會在out\default下生成chrome.exe和相關的dllpdb除錯檔案。

除錯

方案一

使用visual studio 2015載入all.sln直接除錯。

方案二

visual studio 2015會非常的慢, 可以使用windbg preview除錯,圖形化,而且快,也有windbg的強大功能

開啟點選 左上角檔案, 根據情況設定好即可。

這裡以 除錯node為例 (原因是node使用v8

首先進入settings設定符號路徑。

然後根據上上圖設定除錯的程式 和 引數。 點選ok執行之

設定斷點,斷點斷下來後可以直接定位到原始碼(自己編譯)

除錯資訊非常的直觀

有時漏洞是位於v8引擎裡面的。 我們可以使用node或者d8來除錯v8,這樣除錯速度比較快。

生成vs解決方案,然後編譯就行了。

如果在linux下 直接

./configure --debug && make -j8

博學之,審問之,慎思之,明辨之,篤行之

禮記 中庸 十九章有云 博學之,審問之,慎思之,明辨之,篤行之。這說的是為學的幾個層次,或者說是幾個遞進的階段。博學之 意謂為學首先要廣泛的獵取,培養充沛而旺盛的好奇心。好奇心喪失了,為學的慾望隨之而消亡,博學遂為不可能之事。博 還意味著博大和寬容。惟有博大和寬容,才能相容幷包,使為學具有世界眼光和...

接觸之,熟悉之,打破之

接觸之,熟悉之,打破之 拿破崙小時候就是孩子王,不管同夥伴們玩什麼遊戲,它總是贏家。同時,它更善於改變遊戲規則,以便能夠發揮他自己的優勢。如果能夠成為遊戲規則的左右者,那麼,在當今商戰中必定是最大的贏家。我們處在乙個有著各種各樣遊戲規則的大環境中,每時每刻都要面對不同的遊戲規則,轉換不同的角色,讓自...

手之舞之,足之蹈之

我知道,你認為我在講述天方夜譚。沒有哪個程式設計師可以這樣奢侈,可以這樣幸運。不錯,這確乎是我的幻想。不可求,不可遇。然而,書卻可以擁有這樣的魔力,可以讓這樣的幻想得到實現。感謝richard monson haefel薈萃了這樣乙個團隊,並將他們帶到每乙個讀者身邊,那就是這本薄薄的小書 軟體架構師...