如何簡單快速除錯高大上的谷歌瀏覽器

2021-06-30 16:29:21 字數 1159 閱讀 9900

所以...... 

一切精妙的東西最終又歸結到原始碼上,直到我們了解它熟悉它。怎麼快速的的了解熟悉它呢?不外乎2點

1、大量的**閱讀

2、跟蹤除錯**

今天我們就簡單的學習一下在ubuntu下簡單除錯chromium**

首先我們必須弄個debug除錯版本在ubuntu上執行除錯。

編譯步驟:

1、build

/install

-build

-deps.sh

2、build

/gyp_chromium

-dflag1

=value1

-dflag2

=value2 3、

export

gyp_defines

="flag1=value1 flag2=value2" 4、

ninja-v

-cout/

debug

chrome

編譯成功後會在src/out/debug 下生成300個左右檔案其中有chrome可執行程式和庫。

除錯:

除錯多程序最簡單的方法是用 attach pid 

shell下:gdb src/out/debug/chrome 啟動到gdb輸入後用 r -no-sandbox (沙箱模式無法執行,有待研究)

ps -ax 檢視程序id

或者用pstree -p|grep chrome

再新開啟的shell輸入sudo gdb (有許可權限制必須用root許可權)

gdb啟動後輸入attach pid 然後加上你要除錯的斷點

我們除錯renderimage.cpp  layout 函式在繪製程序中呼叫堆疊

有了函式呼叫堆疊順序,你有不理解不清楚的地方加個斷點,檢視堆疊一切都這麼簡單。

debug除錯只能起到輔助作用,學習還是需要我們理解框架、大量閱讀原始碼。

如何將你的vim配置的「高大上」

vim對於乙個經常在linux進行程式設計的程式設計師,將vim 配置的高大上是乙個程式設計師的基本素養。接下來就來給大家介紹一下如何簡單的配置vim 首先來上一張效果圖 配置檔案的位置 在目錄 etc 下面,有個名為vimrc的檔案,這是系統中公共的vim配置檔案,對所有使用者都有效。而在每個使用...

Science上發表的簡單快速的聚類方法

工作以後發現自己學習和研究的時間變得少得可憐。我之所以對這個演算法感興趣,主要是因為看到 中可以識別那麼奇形怪狀的點簇,然後又只有兩個指標,好像很有道理又很好算的樣子。沒想到被坑慘了,我用了差不多兩個星期,偶爾下班後有時間看 寫 才把這個簡單的演算法實現下來。其中依然還有乙個引數需要手工調整,就是d...

GitHub上如何快速搜尋到需要的專案

本篇文章參考博文 想要向大佬看齊,就要先模仿大佬,最直接的辦法就是去看大佬的原始碼,所以呢github給了我們乙個接近頂尖開發的機會。那麼如何發現大佬的 或者說如何找到你最想學習的 呢?做個整理,供自己和各位鄉紳一起學習。大家正常搜尋專案的時候,會在這個輸入框裡打上自己需要的專案名稱,然後一條一條翻...