Chrome源碼發佈後,許多人與我一樣,馬上開始下載編譯調試,希望一睹它的真面目。但這之中,有許多人與我一樣,會碰到一此問題,所以將我的經歷寫下來,供大家參考
1.編譯問題
a.源碼下載
官方推薦的是用svn下載,我下載用了2天,試了兩次,第一次下載後,編譯沒有過,很多問題,缺這缺那,但在修補這個的過程序中,明白了編譯不過的原因。
源碼下載一定要下載全,用svn下載時,因爲速度很慢,也可能下的人多,svn會經常斷線,所以斷了以後要手工去updata,直到svn提示沒有更新爲止。
另外,Chrome中用了其它一些開源項目,有些並沒有加入svn下載的源碼中(trunk),所以要自己到google去找。具體是那些項目,可以在編譯時通過編譯器的提示去了解。
還有一部分是目錄放的不對,比如trunk/deps/third_party裏的全部子目錄,應該放到trunk/src/third_party裏,所以要將它們全部copy過去.
除了下載源碼外,後面的兩步並不需要馬上完成,可以一邊編譯,一邊做,這個在編譯時會再說。
b.編譯。
編譯時出的主要問題
1.先覺條件沒有做。
比如沒有安裝windows更新包,vs補丁包,等等,這一步可以對應相應文章,說的都很詳細
2.運行chrome.sln時,如果提示項目文件沒有找到,可能是相應的項目文件不存在,因些到google去下載整個開源項目,並放到對應路徑上。
3.將trunk/deps/third_party裏的全部子目錄,應該放到trunk/src/third_party裏,所以要將它們全部copy過去.
這樣做後應該再不會有什麼問題,記住儘量不要修改chrome.sln文件,及其它工程文件,如果編譯過程中仍有文件符號之類的找不到的信息,請檢查是不是少了那個開源項目。
2。調試問題
編譯好Chrome後,迫不及待的開始調試,嘗試幾次後,開始一個個試它的進程,但總是也進不了Render process.並看到派生Render process進程時,是放到另一個桌面的(桌面名爲ChromeRendererDesktop,kDesktopName==“ChromeRendererDesktop”)
HDESK desktop = CreateDesktop(kDesktopName, NULL, NULL, 0,
DESKTOP_CREATEWINDOW, NULL);
if (desktop) {
policy->SetDesktop(kDesktopName);
所以調試時沒有辦法進去,因爲在不同的桌面裏。 這個問題着實頭痛了一陣
後在mood(50170660)的幫助下才知道解決辦法。
1。用單進程模式
2。http://sites.google.com/a/chromi ... s/how-tos/debugging
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/litterflybug/archive/2008/10/28/3168333.aspx