所以......
一切精妙的東西最終又歸結到原始碼上,直到我們了解它熟悉它。怎麼快速的的了解熟悉它呢?不外乎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給了我們乙個接近頂尖開發的機會。那麼如何發現大佬的 或者說如何找到你最想學習的 呢?做個整理,供自己和各位鄉紳一起學習。大家正常搜尋專案的時候,會在這個輸入框裡打上自己需要的專案名稱,然後一條一條翻...