Chrome編譯與調試 zz

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

發佈了25 篇原創文章 · 獲贊 0 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章