编译调试 chromium/v8

只是为了了解下js就没必要折腾chromium了,我编译了一天。想调试发现,8g内存的mac直接爆炸。然后就整了v8

也是一开始贪心。。。。

给一组我的数据

chromium:

下载好源码解决好依赖反正就是 马上可以编译了, 12G

编译花了10小时

编译完毕之后一共102G。。。。。

8gmac xcode想调试 反正是带不动 lldb直接吃满4g内存然后就死那了,而且xcode打开那么大的一个工程。。。反正就是各种卡。。。

v8:

到能编译之前 2.5G

xcode编译20多分钟吧 不是记得很清楚了反正挺快的

编译完总共 5.4G

调试啥的很流畅

废话到此为止,要调试要先编译好,装好xcode、下载depot工具包、获取源码、等标准操作不废话了,chromium v8各自官网、文档都很清楚了。我说下实际遇到的一些问题。以mac为例

1:大天朝墙了Google 自备。。你懂得。要配置好terminal环境 比如。proxychains。mac新版 10.6还是多少 近期买的都是10.13 10.14了基本是 要考虑了的。这些新系统有完整性保护 sip 要关掉。方法自己百度。

2:在同步代码时候会出现

To use a proxy in this situation, please supply those settings in a .boto   


file pointed to by the NO_AUTH_BOTO_CONFIG environment var.

告诉你 不支持 proxy 这样的代理 要你设置 boto ,然后还有设置 一个环节变量。意思就是你要整一个boto的代理设置文件,然后设置环境变量指向它。随便找个地方创建一个boto.cfg。里面写如下信息

[Boto]

proxy=127.0.0.1



proxy_port=8001 //这是http/s代理端口不是socks5代理端口

然后

export NO_AUTH_BOTO_CONFIG=path/boto.cfg

然后 继续要开你的代理继续执行你的同步代码。。他会。。

Failed to fetch file gs://chromium-gn/a68b194afb05d6a6357cf2e2464136ed7723c305 for src/buildtools/mac/gn.

...

Error: Command 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-gn -s src/buildtools/mac/gn.sha1' returned non-zero exit status ...

类似这种。。下载不来。。但是你会发现你是可以下载的只不过他下不来。。最笨的办法你自己下载他的这个文件放到对应位置。比如如上例子就是下载

gs://chromium-gn/a68b194afb05d6a6357cf2e2464136ed7723c305 

src/buildtools/mac/gn

然后这里记得一点 是压缩包要解压,然后要给执行权限。 最简单的办法下完之后对整个工程文件

chmod -R 755 

还有就是要把

gs:// 

换成

https://storage.googleapis.com/

不想自己复制粘贴改名字,直接用命令就可以是

wget --no-check-certificate https://storage.googleapis.com/chromium-gn/a68b194afb05d6a6357cf2e2464136ed7723c305 -O src/buildtools/mac/gn 

要生成xcode工程文件当进行gn gen时,可以通过参数 –ide=xcode。这将得到一个all.xcworkspace文件,

用xcode打开

xcode调试v8 直接用他的shell等就可以,调试chromium 要 Debug->Attach to Process选择你打开的chromium

chromium 多进程等别的问题就不在本文范围内了讲道理我也都没调试过呢。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值