Chrome编译与调试

来源:互联网 发布:centos 镜像安装jdk 编辑:程序博客网 时间:2024/05/16 07:11

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
原创粉丝点击