chromium 20 移除 all.sln不常用工程

01 减少all.sln工程数量可以降低调试崩溃率

chromium vs2017的工程数量庞大。71.0.3578.xx版本默认在windows下大约又2718个工程。使用vs2017调试时,很容易发生崩溃。
实际上我们真正修改的内容和很少的。比如大部分第三方库的工程,基础库等都可以移除掉。

02 手动移除方法较快的方法

A: 备份多份 all.sln
all01.sln
all02.sln

B: 批量修改all01.sln
使用文本编辑器打开 all01.sln,批量删除里面不想要的工程内容。如所有包含:third_party 内容的工程。搜索到后依次删除即可。
Project 到 EndProject 代表一个工程。

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(third_party)", "../../base/third_party", "{192300BB-7354-DA18-DE16-A286CDAE94AB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(dynamic_annotations)", "../../base/third_party/dynamic_annotations", "{07DE5C0B-8D79-B3CA-BFA3-761FD8703E9B}"
EndProject
...
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(zlib)", "../../third_party/zlib", "{9008985C-25B5-272C-CA58-373EB2F2332B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "(google)", "../../third_party/zlib/google", "{B07AB1AB-4090-6A1C-FDB8-7EBA92A1D1B8}"
EndProject

C:个别卸载项目
删除完之后,使用vs2017打开这个all01.sln。
在手动删除个别不需要的工程。在工程上面右键菜单,[卸载项目] 即可。

D:调整
可以同时开着vs2017打开的all01.sln,和文本编辑器(比如notepad++)打开的 all01.sln。
这样在文本中修改,切换到vs2017会提示更新;在vs2017中卸载工程,在文本编辑器中会提示更新。

03 错误修复

如果没做备份或者原始all.sln被弄坏了。直接 gn gen 生成一下,不需要重新编译,即可调试。

04 结论

移除仅剩下 1400 个工程左右,调试出现崩溃的概率较低。

05 添加工程

移除工程后,有些时候,调试到需要研究的代码。因为工程没有添加,没有符号文件。调试不到需要的代码。这时需要包工程手动添加回来。

1 在未加载的堆栈处右键勾选[显示外部代码]菜单项。
2 在未加载的堆栈处右键点击[转到模块],查看项目所在输入文件名称。
3 使用Vs-Chromium的 【Code Search】搜索未加载处的关键字,找到完整的文件路径。
4 根据完整的文件路径等级,到编译目录out下面查找对应的vs工程。
比如:out\DebugX64\obj\third_party\blink\renderer\core\core.vcxproj
5 注意:找到对应输入的vs工程未必一次命中。可能还需要找到依赖工程。需要耐心。
在这里插入图片描述
在这里插入图片描述

06 增减工程引起编译内容不全问题

经过几轮删减工程项目后,在一次修改blink_core.dll模块时:修改代码后, 'ninja -C out\DebugX64 chrome’编译通过,但是运行bug。代码完全回复到出事状态编译,依然通过,但还是有运行错误。后来没有继续查找问题。重新编译了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值