depot_tools.part3.rar
chromium的部署工具depot_tools和gclient depot_tools是个工具包,里面包含gclient、gcl、gn和ninja等工具。其中gclient是代码获取工具,它其实是利用了svn和git。主要涉及的depot_tools文件夹下的文件有:gclient、gclient.py、subcommand.py、gclient_utils.py。
chromium的部署工具depot_tools和gclient depot_tools是个工具包,里面包含gclient、gcl、gn和ninja等工具。其中gclient是代码获取工具,它其实是利用了svn和git。主要涉及的depot_tools文件夹下的文件有:gclient、gclient.py、subcommand.py、gclient_utils.py。
chromium的部署工具depot_tools和gclient depot_tools是个工具包,里面包含gclient、gcl、gn和ninja等工具。其中gclient是代码获取工具,它其实是利用了svn和git。主要涉及的depot_tools文件夹下的文件有:gclient、gclient.py、subcommand.py、gclient_utils.py。
chromium的部署工具depot_tools和gclient depot_tools是个工具包,里面包含gclient、gcl、gn和ninja等工具。其中gclient是代码获取工具,它其实是利用了svn和git。主要涉及的depot_tools文件夹下的文件有:gclient、gclient.py、subcommand.py、gclient_utils.py。
crashpad 第二部分 Crashpad的进程外崩溃报告技术思路跟Breakpad是类似的。启动一个Server进程,Server进程创建一个命名管道。Client进程通过命令管道与Server进程通信,注册自己。当Client发生异常的时候,就会通过事件通知Server。Server根据之前Clinet注册的信息,读取Client进程里面的数据,来生成dump。
crashpad 第一部分 Crashpad的进程外崩溃报告技术思路跟Breakpad是类似的。启动一个Server进程,Server进程创建一个命名管道。Client进程通过命令管道与Server进程通信,注册自己。当Client发生异常的时候,就会通过事件通知Server。Server根据之前Clinet注册的信息,读取Client进程里面的数据,来生成dump。
crashpad 第一部分 Crashpad的进程外崩溃报告技术思路跟Breakpad是类似的。启动一个Server进程,Server进程创建一个命名管道。Client进程通过命令管道与Server进程通信,注册自己。当Client发生异常的时候,就会通过事件通知Server。Server根据之前Clinet注册的信息,读取Client进程里面的数据,来生成dump。
GN是一种元构建系统,生成Ninja构建文件(Ninja build files),相较GYP而言,具有如下优点: 可读性更好,更容易编写和维护。 速度更快,谷歌官方给的数据是20倍的速度提升。 修改GN文件后,执行ninja构建时会自动更新Ninja构建文件。以前用GYP的时候就有过修改了GYP,而忘记使用gyp命令重新生成Ninja构建文件的尴尬。 更简单的模块依赖,提供了public_deps, data_deps等,在GYP中,只有一种目标依赖,导致依赖关系错综复杂,容易引入不必要的模块依赖。 提供了更好的工具查询模块依赖图谱。这在GYP构建系统中是一个噩梦,要查一个目标依赖哪些模块或者一个模块被哪些目标依赖几乎是不可能的。 更好的调试支持。为了打印GYP中的变量值,我以前还专门写过一篇博文<<如何打印gyp构建系统中的变量值>>,在GN中,只需要一条print语句就可以解决。